Latihan - Membuat tabel eksternal dari database di Azure SQL Database
Di unit ini, Anda menyambungkan dan membuat tabel eksternal dari database di Azure SQL Database dengan menggunakan layanan PolyBase. Untuk latihan ini, Anda:
- Buat database di SQL Server 2025.
- Buat kunci master database untuk mengamankan kredensial cakupan database Azure SQL.
- Buat kredensial cakupan database untuk mengakses sumber data Azure SQL Database.
- Buat sumber data eksternal dengan menggunakan kredensial yang memiliki cakupan database.
- Kueri sumber data eksternal menggunakan OPENROWSET.
- Buat tabel eksternal menggunakan sumber data eksternal.
Prasyarat
Database Azure SQL yang dibuat dengan menggunakan instruksi di Mulai Cepat: Membuat database tunggal - Azure SQL Database. Untuk latihan ini, beri nama server
polybaseserverAzure SQL dan databasepolybase2025testAzure SQL . Pastikan untuk memilih Gunakan Sampel data > yang sudah ada di bawah Pengaturan tambahan saat Anda membuat database.Instans SQL Server 2025 dengan PolyBase diinstal dan diaktifkan seperti untuk latihan sebelumnya. Untuk menyambungkan ke database lain seperti database Azure SQL, Anda perlu menggunakan layanan PolyBase. Buka Pengelola Konfigurasi SQL Server dan pastikan layanan SQL Server PolyBase Data Movement dan SQL Server PolyBase Engine berjalan.
Membuat database
Dalam instans SQL Server Anda, buat database yang disebut Demo2, dan beralihlah menggunakan database tersebut.
USE MASTER;
IF EXISTS (SELECT * FROM sys.databases WHERE [name] = N'Demo2')
BEGIN
ALTER DATABASE Demo2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE IF EXISTS Demo2;
END;
CREATE DATABASE Demo2;
USE Demo2;
Membuat kunci master database
Buat kunci master database untuk database baru ini, seperti pada latihan sebelumnya.
DECLARE @randomWord VARCHAR(64) = NEWID();
DECLARE @createMasterKey NVARCHAR(500) = N'
IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE name = ''##MS_DatabaseMasterKey##'')
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ' + QUOTENAME(@randomWord, '''')
EXEC sp_executesql @createMasterKey;
SELECT * FROM sys.symmetric_keys;
Membuat kredensial cakupan database
Buat kredensial lingkup database yang akan digunakan untuk menyambungkan ke server logis Azure SQL Anda. Ganti <sql_user> dan <password> dengan nama pengguna dan kata sandi untuk server Azure SQL Anda.
CREATE DATABASE SCOPED CREDENTIAL AzureSQLDB
WITH IDENTITY = '<sql_user>', Secret = '<password>';
Membuat sumber data eksternal untuk Azure SQL Database
Buat sumber data eksternal yang menunjuk ke server logis Azure SQL. Anda menggunakan awalan sqlserver:// untuk menyambungkan ke server. Dalam contoh ini, nama server yang sepenuhnya memenuhi syarat adalah polybaseserver.database.windows.net.
CREATE EXTERNAL DATA SOURCE AzureSQLDB
WITH ( LOCATION = 'sqlserver://polybaseserver.database.windows.net',
CREDENTIAL = AzureSQLDB);
Mengaktifkan kueri ad hoc terdistribusi
Secara default, SQL Server tidak mengizinkan kueri terdistribusi ad hoc menggunakan OPENROWSET. Jalankan sp_configure perintah untuk mengaktifkan kueri terdistribusi ad hoc. Untuk informasi selengkapnya, lihat kueri terdistribusi ad hoc (opsi konfigurasi server).
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC SP_CONFIGURE N'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
Menggunakan OPENROWSET untuk mengakses database Azure SQL
Gunakan OPENROWSET untuk menyambungkan ke polybase2025test database di Azure SQL Database dan mengkueri SalesLT.Customer tabel. Anda perlu menentukan penyedia. Contoh ini menggunakan penyedia MSOLEDBSQL, yang diinstal dengan SQL Server 2025. Anda juga perlu menentukan autentikasi <user> SQL dan <password>
SELECT
*
FROM OPENROWSET(
N'MSOLEDBSQL',
'Server=polybaseserver.database.windows.net;database=polybase2025test;uid=<user>;pwd=<password>',
'SELECT * FROM SalesLT.Customer'
);
Membuat tabel eksternal dari SQL Server 2025 ke Azure SQL Database
Sekarang setelah Anda memverifikasi, Anda dapat mengkueri sumber data eksternal, Anda bisa membuat dan menampilkan tabel eksternal yang dipanggil ext_tblCustomers dari sumber data tersebut dengan menggunakan kredensial lingkup database dan sumber data eksternal.
CREATE EXTERNAL TABLE ext_tblCustomers(
CustomerID INT
,LastName NVARCHAR(50)
,EmailAddress NVARCHAR(50)
)
WITH
(LOCATION = N'polybase2025test.SalesLT.Customer'
,DATA_SOURCE = AzureSQLDB);
SELECT * FROM ext_tblCustomers;
Di unit ini, Anda menggunakan PolyBase pada instans SQL Server 2025 untuk mengkueri dan membuat tabel eksternal dari Azure SQL Database. Lanjutkan ke unit berikutnya untuk mempelajari tentang perintah CREATE EXTERNAL TABLE AS SELECT (CETAS) dan manfaatnya.