Konfigurera PolyBase för åtkomst till externa data med allmänna ODBC-typer
gäller för:SQL Server
Med PolyBase från och med SQL Server 2019 kan du ansluta till ODBC-kompatibla datakällor med hjälp av ODBC-anslutningsappen.
Den här artikeln visar hur du skapar konfigureringsanslutningar med hjälp av en ODBC-datakälla. Vägledningen som tillhandahålls använder en specifik ODBC-drivrutin som exempel. Kontakta ODBC-providern om du vill ha specifika exempel. Referera till ODBC-drivrutinsdokumentationen för datakällan för att fastställa lämpliga alternativ för anslutningssträngar. Exemplen i den här artikeln kanske inte gäller för någon specifik ODBC-drivrutin.
Förutsättningar
Obs
Den här funktionen kräver SQL Server i Windows.
PolyBase måste vara installerat och aktiverat för din SQL Server-instans PolyBase-installation.
Innan du skapar en databasomfångad autentiseringsuppgift måste en huvudnyckel skapas.
Installera ODBC-drivrutinen
Ladda ned och installera ODBC-drivrutinen för den datakälla som du vill ansluta till på var och en av PolyBase-noderna. När drivrutinen är korrekt installerad kan du visa och testa drivrutinen från ODBC-datakällshanteraren.
I exemplet ovan är namnet på föraren inringat i rött. Använd det här namnet när du skapar den externa datakällan.
Viktig
För att förbättra frågeprestandan aktiverar du anslutningspooler. Detta kan göras från ODBC-datakälladministratören.
Skapa beroende objekt i SQL Server
Om du vill använda ODBC-datakällan måste några objekt först skapas för att slutföra konfigurationen.
Följande Transact-SQL kommandon används i det här avsnittet:
Skapa en databasomfattande autentiseringsuppgift för åtkomst till ODBC-källan.
CREATE DATABASE SCOPED CREDENTIAL [<credential_name>] WITH IDENTITY = '<username>', Secret = '<password>';
I följande exempel skapas till exempel en autentiseringsuppgift med namnet
credential_name
med identitetenusername
och ett komplext lösenord.CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
Skapa en extern datakälla med CREATE EXTERNAL DATA SOURCE.
CREATE EXTERNAL DATA SOURCE [<external_data_source_name>] WITH ( LOCATION = 'odbc://<ODBC server address>[:<port>]', CONNECTION_OPTIONS = 'Driver={<Name of Installed Driver>}; ServerNode = <name of server address>:<Port>', -- PUSHDOWN = [ON] | OFF, CREDENTIAL = [<credential_name>] );
I följande exempel skapas en extern datakälla:
- Med namnet
external_data_source_name
- Finns på ODBC-
SERVERNAME
och port4444
- Ansluta med
CData ODBC Driver For SAP 2015
– Det här är drivrutinen som skapas under Installera ODBC-drivrutinen - På
ServerNode
sap_server_node
port5555
- Konfigurerad för bearbetning som överförts till servern (
PUSHDOWN = ON
) - Använda
credential_name
autentiseringsuppgifter
CREATE EXTERNAL DATA SOURCE external_data_source_name WITH ( LOCATION = 'odbc://SERVERNAME:4444', CONNECTION_OPTIONS = 'Driver={CData ODBC Driver For SAP 2015}; ServerNode = sap_server_node:5555', PUSHDOWN = ON, CREDENTIAL = credential_name );
- Med namnet
Skapa en extern tabell
När du har skapat de beroende objekten kan du skapa en extern tabell med hjälp av T-SQL.
Följande Transact-SQL kommandon används i det här avsnittet:
Skapa en eller flera externa tabeller.
Skapa en extern tabell. Du måste referera till den externa datakälla som skapades ovan med argumentet
DATA_SOURCE
och ange källtabellen somLOCATION
. Du behöver inte referera till alla kolumner, men du måste se till att typerna är korrekt mappade.CREATE EXTERNAL TABLE [<your_table_name>] ( [<col1_name>] DECIMAL(38) NOT NULL, [<col2_name>] DECIMAL(38) NOT NULL, [<col3_name>] CHAR COLLATE Latin1_General_BIN NOT NULL ) WITH ( LOCATION='<sap_table_name>', DATA_SOURCE= [<external_data_source_name>] ) ;
Notera
Observera att du kan återanvända beroende objekt för alla externa tabeller med hjälp av den här externa datakällan.
Valfritt: Skapa statistik i en extern tabell.
För optimal frågeprestanda rekommenderar vi att du skapar statistik för externa tabellkolumner, särskilt de som används för kopplingar, filter och aggregeringar.
CREATE STATISTICS statistics_name ON contact (FirstName) WITH FULLSCAN;
Nästa steg
Mer information om PolyBase finns i Översikt över SQL Server PolyBase.
Fler självstudier om hur du skapar externa datakällor och externa tabeller till en mängd olika datakällor finns i PolyBase Transact-SQL referens.