Konfigurera PolyBase för åtkomst till externa data i SQL Server
gäller för:SQL Server
Den här artikeln beskriver hur du använder PolyBase på en SQL Server-instans för att fråga externa data i en annan SQL Server-instans.
Förutsättningar
Om du inte har installerat PolyBase kan du läsa PolyBase-installation. Installationsartikeln förklarar kraven. När du har installerat ska du också aktivera PolyBase.
Den externa SQL Server-datakällan använder SQL-autentisering.
Innan du skapar en databasomfångad autentiseringsuppgift måste en huvudnyckel skapas.
Konfigurera för en extern datakälla i SQL Server
Om du vill köra frågor mot data från en SQL Server-datakälla måste du skapa externa tabeller för att referera till externa data. Det här avsnittet innehåller exempelkod för att skapa dessa externa tabeller.
För optimal frågeprestanda skapar du statistik för externa tabellkolumner, särskilt för de som används för kopplingar, filter och aggregeringar.
Följande Transact-SQL kommandon används i det här avsnittet:
- SKAPA DATABASRELATERADE REFERENSER (Transact-SQL)
- SKAPA EXTERN DATAKÄLLA (Transact-SQL)
- SKAPA EXTERN TABELL (Transact-SQL)
- SKAPA STATISTIK (Transact-SQL)
Skapa en databasomfattande autentiseringsuppgift för åtkomst till SQL Server-källan. I följande exempel skapas en autentiseringsuppgift för den externa datakällan med
IDENTITY = 'username'
ochSECRET = 'password'
.CREATE DATABASE SCOPED CREDENTIAL SqlServerCredentials WITH IDENTITY = 'username', SECRET = 'password';
Viktig
SQL ODBC Connector för PolyBase stöder endast grundläggande autentisering, inte Kerberos-autentisering.
Skapa en extern datakälla med CREATE EXTERNAL DATA SOURCE. Följande exempel:
- Skapar en extern datakälla med namnet
SQLServerInstance
. - Identifierar den externa datakällan (
LOCATION = '<vendor>://<server>[:<port>]'
). I exemplet pekar den på en standardinstans av SQL Server. - Identifierar om beräkningen ska skickas till källan (
PUSHDOWN
).PUSHDOWN
ärON
som standard.
Slutligen använder exemplet autentiseringsuppgifterna som skapades tidigare.
CREATE EXTERNAL DATA SOURCE SQLServerInstance WITH ( LOCATION = 'sqlserver://SqlServer', PUSHDOWN = ON, CREDENTIAL = SQLServerCredentials);
- Skapar en extern datakälla med namnet
Skapa den externa tabellen med CREATE EXTERNAL TABLE Instruktionen kräver sortering och platsen kräver notation i tre delar (
<database>.<schema>.<table>
).CREATE EXTERNAL TABLE DatabasesExternal ( name VARCHAR(128) COLLATE SQL_Latin1_General_CP1_CI_AS) WITH (LOCATION = 'master.sys.databases', DATA_SOURCE = SQLServerInstance);
Du kan också skapa statistik i en extern tabell.
För optimal frågeprestanda skapar du statistik för externa tabellkolumner, särskilt de som används för kopplingsfilter och aggregat.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY)
WITH FULLSCAN;
Viktig
När du har skapat en extern datakälla kan du använda kommandot CREATE EXTERNAL TABLE för att skapa en frågebar tabell över den källan.
Sql Server-anslutningskompatibla typer
Du kan också använda SQL Server-anslutningsappen (sqlserver://) för att få åtkomst till Azure SQL Database. Utför den här uppgiften genom att följa samma steg som tidigare. Kontrollera att databasens omfångsbegränsade autentiseringsuppgifter, serveradress, port och platssträng korrelerar med den Azure SQL Database-datakälla som du vill ansluta till.
Nästa steg
För fler handledningar om hur du skapar externa datakällor och externa tabeller till olika datakällor, se PolyBase Transact-SQL referens.
Mer information om PolyBase finns i Översikt över SQL Server PolyBase.