Dela via


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:

  1. 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' och SECRET = '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.

  2. 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 är ON som standard.

    Slutligen använder exemplet autentiseringsuppgifterna som skapades tidigare.

    CREATE EXTERNAL DATA SOURCE SQLServerInstance
        WITH ( LOCATION = 'sqlserver://SqlServer',
        PUSHDOWN = ON,
        CREDENTIAL = SQLServerCredentials);
    
  3. 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);
    
  4. 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.