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.
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
Fitur ini memerlukan SQL Server di Windows.
PolyBase harus diinstal dan diaktifkan untuk penginstalan PolyBase instans SQL Server Anda.
Sebelum membuat kredensial lingkup database, Kunci Master harus dibuat.
Pasang pengandar ODBC
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.
Dalam contoh di atas, 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 dari Administrator Sumber Data ODBC.
Membuat objek dependen di SQL Server
Untuk menggunakan sumber data ODBC, beberapa objek harus dibuat terlebih dahulu untuk menyelesaikan konfigurasi.
Perintah Transact-SQL berikut digunakan di bagian ini:
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 identitasusername
dan kata sandi yang kompleks.CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
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 port4444
- Menyambungkan dengan
CData ODBC Driver For SAP 2015
- Ini adalah driver yang dibuat di bawah Instal driver ODBC - Pada
ServerNode
sap_server_node
port5555
- Dikonfigurasi untuk pemrosesan yang didorong ke server (
PUSHDOWN = ON
) credential_name
Menggunakan kredensial
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 );
- Bernama
Membuat tabel eksternal
Setelah membuat objek dependen, Anda dapat membuat tabel eksternal menggunakan T-SQL.
Perintah Transact-SQL berikut digunakan di bagian ini:
Buat satu atau beberapa tabel eksternal.
Buat tabel eksternal. Anda harus mereferensikan sumber data eksternal yang dibuat di atas menggunakan
DATA_SOURCE
argumen dan menentukan tabel sumber sebagaiLOCATION
. Anda tidak perlu mereferensikan semua kolom tetapi Anda harus 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 ( LOCATION='<sap_table_name>', DATA_SOURCE= [<external_data_source_name>] ) ;
Catatan
Perhatikan bahwa Anda dapat menggunakan kembali objek dependen untuk semua tabel eksternal menggunakan sumber data eksternal ini.
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;
Langkah berikutnya
Untuk mempelajari selengkapnya tentang PolyBase, lihat Gambaran Umum SQL Server PolyBase.
Untuk tutorial selengkapnya tentang membuat sumber data eksternal dan tabel eksternal ke berbagai sumber data, lihat referensi PolyBase Transact-SQL.