Dela via


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.

PolyBase-utskalningsgrupper

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:

  1. 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_namemed identiteten username och ett komplext lösenord.

    CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
    
  2. 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 port 4444
    • Ansluta med CData ODBC Driver For SAP 2015 – Det här är drivrutinen som skapas under Installera ODBC-drivrutinen
    • ServerNodesap_server_node port 5555
    • 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 );
    

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:

  1. 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 som LOCATION. 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.

  2. 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.