Delen via


PolyBase configureren voor toegang tot externe gegevens in SQL Server

van toepassing op:SQL Server-

In dit artikel wordt uitgelegd hoe u PolyBase op een SQL Server-exemplaar gebruikt om een query uit te voeren op externe gegevens in een ander SQL Server-exemplaar.

Voorwaarden

Als u PolyBase nog niet hebt geïnstalleerd, raadpleegt u PolyBase-installatie. In het installatieartikel worden de vereisten uitgelegd. Zodra de installatie voltooid is, moet u ook PolyBaseinschakelen.

De externe SQL Server-gegevensbron maakt gebruik van SQL-verificatie.

Voordat u een database-gebonden referentie maakt, moet een hoofdsleutel worden gemaakt.

Een externe SQL Server-gegevensbron configureren

Als u een query wilt uitvoeren op de gegevens uit een SQL Server-gegevensbron, moet u externe tabellen maken om te verwijzen naar de externe gegevens. Deze sectie bevat voorbeeldcode voor het maken van deze externe tabellen.

Voor optimale queryprestaties maakt u statistieken voor externe tabelkolommen, met name voor de kolommen die worden gebruikt voor joins, filters en aggregaties.

In deze sectie worden de volgende Transact-SQL opdrachten gebruikt:

  1. Maak een database-scoped referentie aan voor toegang tot de SQL Server-bron. In het volgende voorbeeld wordt een referentie voor de externe gegevensbron gemaakt met IDENTITY = 'username' en SECRET = 'password'.

    CREATE DATABASE SCOPED CREDENTIAL SqlServerCredentials
    WITH IDENTITY = 'username', SECRET = 'password';
    

    Belangrijk

    De SQL ODBC-connector voor PolyBase ondersteunt alleen basisverificatie, niet Kerberos-verificatie.

  2. Maak een externe gegevensbron met CREATE EXTERNAL DATA SOURCE. Het volgende voorbeeld:

    • Hiermee maakt u een externe gegevensbron met de naam SQLServerInstance.
    • Identificeert de externe gegevensbron (LOCATION = '<vendor>://<server>[:<port>]'). In het voorbeeld verwijst het naar een standaardexemplaar van SQL Server.
    • Hiermee wordt aangegeven of de berekening naar de bron moet worden gepusht (PUSHDOWN). PUSHDOWN is standaard ON.

    Ten slotte gebruikt het voorbeeld de inloggegevens die eerder zijn aangemaakt.

    CREATE EXTERNAL DATA SOURCE SQLServerInstance
        WITH ( LOCATION = 'sqlserver://SqlServer',
        PUSHDOWN = ON,
        CREDENTIAL = SQLServerCredentials);
    
  3. Maak de externe tabel met CREATE EXTERNAL TABLE De instructie vereist sortering en de locatie vereist driedelige notatie (<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);
    
  4. Maak desgewenst statistieken voor een externe tabel.

Voor optimale queryprestaties maakt u statistieken voor externe tabelkolommen, met name de kolommen die worden gebruikt voor samenvoegingsfilters en aggregaties.

  CREATE STATISTICS statistics_name ON customer (C_CUSTKEY)
  WITH FULLSCAN;

Belangrijk

Zodra u een externe gegevensbron hebt gemaakt, kunt u de opdracht CREATE EXTERNAL TABLE opdracht gebruiken om een querybare tabel over die bron te maken.

Compatibele typen voor SQL Server-connector

U kunt ook de SQL Server-connector (sqlserver://) gebruiken voor toegang tot Azure SQL Database. Als u deze taak wilt uitvoeren, volgt u dezelfde stappen die eerder zijn vermeld. Zorg ervoor dat de databasereferenties, het serveradres, de poort en de locatietekenreeks overeenkomen met die van de Azure SQL Database-gegevensbron waarmee u verbinding wilt maken.

Volgende stappen

Zie PolyBase Transact-SQL referentievoor meer zelfstudies over het maken van externe gegevensbronnen en externe tabellen voor verschillende gegevensbronnen.

Zie Overzicht van SQL Server PolyBasevoor meer informatie over PolyBase.