Halaman ini menjelaskan cara mengonfigurasi change data capture (CDC) untuk mengalirkan data dari database Azure SQL ke tujuan yang didukung, seperti BigQuery atau Cloud Storage.
Untuk mengonfigurasi database Azure SQL:
Aktifkan pengambilan data perubahan (CDC) untuk database Azure SQL sumber Anda. Untuk melakukannya, hubungkan ke database menggunakan Azure Data Studio atau SQL Server Management Studio, lalu jalankan perintah berikut:
EXEC sys.sp_cdc_enable_db; GO
Aktifkan CDC pada tabel yang perubahannya perlu Anda ambil:
EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GO
Ganti kode berikut:
SCHEMA_NAME
: nama skema tempat tabel beradaTABLE_NAME
: nama tabel yang ingin Anda aktifkan CDC-nya
Aktifkan isolasi snapshot.
Saat mengisi ulang data dari database SQL Server, Anda harus memastikan snapshot yang konsisten. Jika Anda tidak menerapkan setelan yang dijelaskan di bagian ini, perubahan yang dilakukan pada database selama proses pengisian ulang dapat menyebabkan duplikat atau hasil yang salah, terutama untuk tabel tanpa kunci utama.
Mengaktifkan isolasi snapshot akan membuat tampilan sementara database Anda di awal proses pengisian ulang. Hal ini memastikan bahwa data yang disalin tetap konsisten, meskipun pengguna lain membuat perubahan pada tabel aktif pada saat yang sama. Mengaktifkan isolasi snapshot mungkin memiliki sedikit dampak performa, tetapi penting untuk ekstraksi data yang andal.
Untuk mengaktifkan isolasi snapshot:
- Hubungkan ke database Anda menggunakan klien SQL Server.
- Jalankan perintah berikut:
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
Ganti DATABASE_NAME dengan nama database Anda.
Buat pengguna Datastream:
Hubungkan ke database
master
dan buat login:USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
Hubungkan ke database sumber dan buat pengguna untuk login Anda:
USE DATABASE_NAME CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;
Tetapkan peran
db_owner
dandb_denydatawriter
kepada pengguna Anda:EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';
Berikan izin
VIEW DATABASE STATE
kepada pengguna Anda:GRANT VIEW DATABASE STATE TO USER_NAME;
Langkah berikutnya
- Pelajari lebih lanjut cara kerja Datastream dengan sumber SQL Server.