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. Från och med förhandsversionen av SQL Server 2025 (17.x) är den här funktionen tillgänglig i Linux.

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

I SQL Server 2022 (16.x) och tidigare versioner kräver den här funktionen SQL Server i Windows.

  • PolyBase måste vara installerat och aktiverat för din SQL Server-instans PolyBase-installation.

  • Innan du skapar en databasomfångsbegränsad autentiseringsuppgift måste du skapa en huvudnyckel.

Installera ODBC-drivrutinen

Följ installationsanvisningarna för operativsystemet.

SQL Server 2025 (17.x) Förhandsversionen använder automatiskt Microsoft ODBC Driver version 18 för SQL Server för PolyBase-datakällor sqlserver. Den här drivrutinen stöder TDS 8.0 och innehåller olika uppdateringar, funktioner och några kompatibilitetsbrytande ändringar. Om du vill använda TDS 8.0 måste du använda ett nytt krypteringsalternativ och installera ett betrott certifikat på servern.

Mer information om Microsoft ODBC Driver version 18 för SQL Server finns i:

Mer information om stöd för SQL Server TDS 8.0 finns i TDS 8.0.

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.

Skärmbild av PolyBase-utskalningsgrupper.

I föregående exempel ä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 du först skapa några objekt 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_name, med identiteten username. Ersätt <password> med ett komplext lösenord.

    CREATE DATABASE SCOPED CREDENTIAL credential_name
        WITH IDENTITY = 'username', SECRET = '<password>';
    
  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',
        PUSHDOWN = ON,
        CONNECTION_OPTIONS = 'Driver={CData ODBC Driver For SAP 2015};
            ServerNode = sap_server_node:5555',
        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 tidigare med argumentet DATA_SOURCE och ange källtabellen LOCATIONsom . 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 (
        DATA_SOURCE = [<external_data_source_name>],
        LOCATION = '<sap_table_name>'
    );
    

    Obs

    Observera att du kan återanvända de beroende objekten 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;