Latihan - Membuat tabel eksternal dari database di Azure SQL Database

Selesai

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 polybaseserver Azure SQL dan database polybase2025testAzure 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.