Udostępnij za pośrednictwem


Konfigurowanie programu PolyBase w celu uzyskiwania dostępu do danych zewnętrznych w programie SQL Server

Dotyczy:programu SQL Server

W tym artykule wyjaśniono, jak używać technologii PolyBase w wystąpieniu programu SQL Server do wykonywania zapytań dotyczących danych zewnętrznych w innym wystąpieniu programu SQL Server.

Warunki wstępne

Jeśli nie zainstalowano programu PolyBase, zobacz instalacja programu PolyBase. W artykule dotyczącym instalacji wyjaśniono wymagania wstępne. Po zainstalowaniu upewnij się również, że włączyć program PolyBase.

Zewnętrzne źródło danych programu SQL Server używa uwierzytelniania SQL.

Przed utworzeniem poświadczenia o zakresie bazy danych należy utworzyć klucz główny .

Konfigurowanie zewnętrznego źródła danych programu SQL Server

Aby wykonać zapytanie dotyczące danych ze źródła danych programu SQL Server, należy utworzyć tabele zewnętrzne, aby odwoływać się do danych zewnętrznych. Ta sekcja zawiera przykładowy kod umożliwiający utworzenie tych tabel zewnętrznych.

Aby uzyskać optymalną wydajność zapytań, utwórz statystyki dotyczące kolumn tabeli zewnętrznej, zwłaszcza dla tych, które są używane do sprzężeń, filtrów i agregacji.

W tej sekcji są używane następujące polecenia Transact-SQL:

  1. Utwórz poświadczenie o zakresie bazy danych na potrzeby uzyskiwania dostępu do źródła programu SQL Server. Przykład poniżej tworzy poświadczenie dla zewnętrznego źródła danych za pomocą IDENTITY = 'username' i SECRET = 'password'.

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

    Ważny

    Łącznik SQL ODBC dla technologii PolyBase obsługuje tylko uwierzytelnianie podstawowe, a nie uwierzytelnianie Kerberos.

  2. Utwórz zewnętrzne źródło danych za pomocą CREATE EXTERNAL DATA SOURCE. Poniższy przykład:

    • Tworzy zewnętrzne źródło danych o nazwie SQLServerInstance.
    • Identyfikuje zewnętrzne źródło danych (LOCATION = '<vendor>://<server>[:<port>]'). W przykładzie wskazuje domyślne wystąpienie programu SQL Server.
    • Określa, czy obliczenia powinny być wypychane do źródła (PUSHDOWN). PUSHDOWN jest domyślnie ON.

    Na koniec w przykładzie użyto wcześniej utworzonego poświadczenia.

    CREATE EXTERNAL DATA SOURCE SQLServerInstance
        WITH ( LOCATION = 'sqlserver://SqlServer',
        PUSHDOWN = ON,
        CREDENTIAL = SQLServerCredentials);
    
  3. Utwórz tabelę zewnętrzną za pomocą CREATE EXTERNAL TABLE Instrukcja wymaga sortowania, a lokalizacja wymaga notacji trzyczęściowej (<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. Opcjonalnie utwórz statystyki dla tabeli zewnętrznej.

Aby uzyskać optymalną wydajność zapytań, utwórz statystyki dotyczące kolumn tabeli zewnętrznej, zwłaszcza tych używanych w sprzężeniach, filtrach i agregatach.

  CREATE STATISTICS statistics_name ON customer (C_CUSTKEY)
  WITH FULLSCAN;

Ważny

Po utworzeniu zewnętrznego źródła danych możesz użyć CREATE EXTERNAL TABLE polecenie , aby utworzyć tabelę z możliwością wykonywania zapytań względem tego źródła.

Typy zgodne z łącznikiem programu SQL Server

Możesz również użyć łącznika programu SQL Server (sqlserver://), aby uzyskać dostęp do usługi Azure SQL Database. Aby wykonać to zadanie, wykonaj te same kroki wymienione wcześniej. Upewnij się, że poświadczenie o zakresie bazy danych, adres serwera, port i ciąg lokalizacji są skorelowane z tym źródłem danych usługi Azure SQL Database, z którym chcesz nawiązać połączenie.

Następne kroki

Aby uzyskać więcej samouczków dotyczących tworzenia zewnętrznych źródeł danych i tabel zewnętrznych w różnych źródłach danych, zobacz dokumentacji programu PolyBase Transact-SQL.

Aby dowiedzieć się więcej na temat technologii PolyBase, zobacz Omówienie programu SQL Server PolyBase.