Udostępnij za pośrednictwem


Konfigurowanie programu PolyBase w celu uzyskiwania dostępu do danych zewnętrznych przy użyciu typów ogólnych ODBC

Dotyczy:programu SQL Server

Technologia PolyBase począwszy od programu SQL Server 2019 umożliwia łączenie się ze źródłami danych zgodnymi z ODBC przy użyciu łącznika ODBC.

W tym artykule pokazano, jak utworzyć konfigurowanie łączności przy użyciu źródła danych ODBC. Podane wskazówki używają jednego określonego sterownika ODBC jako przykładu. Zapoznaj się z dostawcą ODBC, aby zapoznać się z konkretnymi przykładami. Aby określić odpowiednie opcje parametrów połączenia, należy odwołać się do dokumentacji sterownika ODBC dla źródła danych. Przykłady w tym artykule mogą nie dotyczyć żadnego konkretnego sterownika ODBC.

Warunki wstępne

Uwaga

Ta funkcja wymaga programu SQL Server w systemie Windows.

  • PolyBase musi być zainstalowane i włączone dla wystąpienia SQL Server instalacji PolyBase.

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

Instalowanie sterownika ODBC

Pobierz i zainstaluj sterownik ODBC źródła danych, z którym chcesz nawiązać połączenie w każdym z węzłów programu PolyBase. Po poprawnym zainstalowaniu sterownika można wyświetlić i przetestować sterownik z administratora źródła danych ODBC.

grupy skalowane horyzontalnie PolyBase

W powyższym przykładzie nazwa sterownika jest zakreślina na czerwono. Użyj tej nazwy podczas tworzenia zewnętrznego źródła danych.

Ważny

Aby zwiększyć wydajność zapytań, włącz buforowanie połączeń. Można to zrobić za pomocą administratora źródła danych ODBC.

Tworzenie obiektów zależnych w programie SQL Server

Aby użyć źródła danych ODBC, należy najpierw utworzyć kilka obiektów, aby ukończyć konfigurację.

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

    CREATE DATABASE SCOPED CREDENTIAL [<credential_name>] WITH IDENTITY = '<username>', Secret = '<password>';
    

    Na przykład poniższy przykład tworzy poświadczenie o nazwie credential_namez tożsamością username i złożonym hasłem.

    CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
    
  2. Utwórz zewnętrzne źródło danych za pomocą 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>] );
    

    Poniższy przykład tworzy zewnętrzne źródło danych:

    • Nazwany external_data_source_name
    • Znajduje się w ODBC SERVERNAME i porcie 4444
    • Nawiązywanie połączenia z CData ODBC Driver For SAP 2015 — jest to sterownik utworzony w Instalowanie sterownika ODBC
    • Na porcie ServerNodesap_server_node5555
    • Skonfigurowano przetwarzanie delegowane na serwer (PUSHDOWN = ON)
    • Używanie poświadczenia credential_name
    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 );
    

Tworzenie tabeli zewnętrznej

Po utworzeniu obiektów zależnych można utworzyć tabelę zewnętrzną przy użyciu języka T-SQL.

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

  1. Utwórz co najmniej jedną tabelę zewnętrzną.

    Utwórz tabelę zewnętrzną. Musisz odwołać się do zewnętrznego źródła danych utworzonego powyżej przy użyciu argumentu DATA_SOURCE i określić tabelę źródłową jako LOCATION. Nie musisz odwoływać się do wszystkich kolumn, ale musisz upewnić się, że typy są poprawnie mapowane.

      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>]
      )
      ;
    

    Notatka

    Należy pamiętać, że można ponownie użyć obiektów zależnych dla wszystkich tabel zewnętrznych przy użyciu tego zewnętrznego źródła danych.

  2. Opcjonalne: Utwórz statystyki w tabeli zewnętrznej.

    Aby uzyskać optymalną wydajność zapytań, zalecamy utworzenie statystyk dotyczących kolumn tabeli zewnętrznej, zwłaszcza tych używanych do sprzężeń, filtrów i agregacji.

    CREATE STATISTICS statistics_name ON contact (FirstName) WITH FULLSCAN; 
    

Następne kroki

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

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.