Bagikan melalui


Mengonfigurasi PolyBase untuk mengakses data eksternal dengan jenis generik ODBC

Berlaku untuk:SQL Server

PolyBase yang dimulai di SQL Server 2019 memungkinkan Anda menyambungkan ke sumber data yang kompatibel dengan ODBC menggunakan konektor ODBC. Dimulai dengan SQL Server 2025 (17.x), fitur ini tersedia di Linux.

Artikel ini menunjukkan cara membuat konfigurasi konektivitas menggunakan sumber data ODBC. Panduan yang diberikan menggunakan satu driver ODBC tertentu sebagai contoh. Tanyakan kepada penyedia ODBC Anda untuk contoh tertentu. Referensikan dokumentasi driver ODBC untuk sumber data Anda untuk menentukan opsi string koneksi yang sesuai. Contoh dalam artikel ini mungkin tidak berlaku untuk driver ODBC tertentu.

Prasyarat

Catatan

Di SQL Server 2022 (16.x) dan versi sebelumnya, fitur ini memerlukan SQL Server di Windows.

  • PolyBase harus diinstal dan diaktifkan untuk instans SQL Server Anda penginstalan PolyBase.

  • Sebelum membuat kredensial lingkup database, Anda harus membuat kunci master.

Pasang pengandar ODBC

Ikuti instruksi penginstalan untuk sistem operasi Anda.

SQL Server 2025 (17.x) secara default menggunakan Microsoft ODBC Driver versi 18 untuk SQL Server, untuk sumber data PolyBase sqlserver. Driver ini mendukung TDS 8.0 dan mencakup berbagai pembaruan, fitur, serta beberapa perubahan signifikan. Untuk menggunakan TDS 8.0, Anda harus menggunakan opsi enkripsi baru, dan menginstal sertifikat tepercaya di server Anda.

Untuk informasi selengkapnya tentang Microsoft ODBC Driver versi 18 untuk SQL Server, lihat:

Untuk informasi selengkapnya tentang dukungan SQL Server TDS 8.0, lihat TDS 8.0.

Unduh dan instal driver ODBC sumber data yang ingin Anda sambungkan pada setiap simpul PolyBase. Setelah driver diinstal dengan benar, Anda dapat melihat dan menguji driver dari Administrator Sumber Data ODBC.

Cuplikan layar grup peluasan skala PolyBase.

Dalam contoh sebelumnya, nama driver dilingkari dengan warna merah. Gunakan nama ini saat Anda membuat sumber data eksternal.

Penting

Untuk meningkatkan performa kueri, aktifkan pengumpulan koneksi. Ini dapat dicapai melalui Administrator Sumber Data ODBC.

Membuat objek dependen di SQL Server

Untuk menggunakan sumber data ODBC, Anda harus terlebih dahulu membuat beberapa objek untuk menyelesaikan konfigurasi.

Perintah Transact-SQL berikut digunakan di bagian ini:

  1. Buat kredensial tercakup database untuk mengakses sumber ODBC.

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

    Misalnya, contoh berikut membuat kredensial bernama credential_name, dengan identitas username. Ganti <password> dengan kata sandi yang kompleks.

    CREATE DATABASE SCOPED CREDENTIAL credential_name
        WITH IDENTITY = 'username', SECRET = '<password>';
    
  2. Buat sumber data eksternal dengan 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>]
    );
    

    Contoh berikut membuat sumber data eksternal:

    • Bernama external_data_source_name
    • Terletak di ODBC SERVERNAME dan port 4444
    • Menyambungkan dengan CData ODBC Driver For SAP 2015 - Ini adalah driver yang dibuat di bawah Instal driver ODBC
    • Di ServerNodesap_server_node pelabuhan 5555
    • Dikonfigurasi untuk memindahkan pemrosesan ke server (PUSHDOWN = ON)
    • Menggunakan kredensial credential_name
    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
    );
    

Membuat tabel eksternal

Setelah membuat objek dependen, Anda dapat membuat tabel eksternal menggunakan T-SQL.

Perintah Transact-SQL berikut digunakan di bagian ini:

  1. Buat satu atau beberapa tabel eksternal.

    Buat tabel eksternal. Anda perlu mereferensikan sumber data eksternal yang dibuat sebelumnya menggunakan DATA_SOURCE argumen dan menentukan tabel sumber sebagai LOCATION. Anda tidak perlu mereferensikan semua kolom tetapi Anda perlu memastikan bahwa jenisnya dipetakan dengan benar.

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

    Catatan

    Perhatikan bahwa Anda dapat menggunakan kembali objek dependen untuk semua tabel eksternal menggunakan sumber data eksternal ini.

  2. Opsional: Buat statistik pada tabel eksternal.

    Untuk performa kueri yang optimal, sebaiknya buat statistik pada kolom tabel eksternal terutama yang digunakan untuk gabungan, filter, dan agregat.

    CREATE STATISTICS statistics_name ON contact(FirstName) WITH FULLSCAN;