Sumber CDC
Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory
Penting
Komponen Aliran CDC, termasuk Tugas Kontrol CDC, Sumber CDC, dan Pemisah CDC, tidak digunakan lagi. Untuk detailnya, lihat pengumuman.
Sumber CDC membaca berbagai data perubahan dari tabel perubahan SQL Server dan memberikan perubahan hilir ke komponen SSIS lainnya.
Rentang data perubahan yang dibaca oleh sumber CDC disebut Rentang Pemrosesan CDC dan ditentukan oleh tugas Kontrol CDC yang dijalankan sebelum aliran data saat ini dimulai. Rentang Pemrosesan CDC berasal dari nilai variabel paket yang mempertahankan status pemrosesan CDC untuk sekelompok tabel.
Sumber CDC mengekstrak data dari database SQL Server dengan menggunakan tabel database, tampilan, atau pernyataan SQL.
Sumber CDC menggunakan konfigurasi berikut:
Pengelola koneksi ADO.NET SQL Server untuk mengakses database CDC SQL Server. Untuk informasi selengkapnya tentang mengonfigurasi koneksi sumber CDC, lihat Editor Sumber CDC (Halaman Pengelola Sambungan).
Tabel yang diaktifkan untuk CDC.
Nama instans pengambilan tabel yang dipilih (jika ada lebih dari satu).
Mode pemrosesan perubahan.
Nama variabel paket status CDC berdasarkan rentang Pemrosesan CDC yang ditentukan. Sumber CDC tidak mengubah variabel tersebut.
Data yang dikembalikan oleh Sumber CDC sama dengan yang dikembalikan oleh fungsi CDC SQL Server cdc.fn_cdc_get_all_changes_<capture-instance-name> atau cdc.fn_cdc_get_net_changes_<capture-instance-name> (jika tersedia). Satu-satunya penambahan opsional adalah kolom , __$initial_processing yang menunjukkan apakah rentang pemrosesan saat ini dapat tumpang tindih dengan beban awal tabel. Untuk informasi selengkapnya tentang pemrosesan awal, lihat Tugas Kontrol CDC.
Sumber CDC memiliki satu output reguler dan satu output kesalahan.
Penanganan Kesalahan
Sumber CDC memiliki output kesalahan. Output kesalahan komponen mencakup kolom output berikut:
Kode Kesalahan: Nilainya selalu -1.
Kolom Kesalahan: Kolom sumber yang menyebabkan kesalahan (untuk kesalahan konversi).
Kolom Baris Kesalahan: Data rekaman yang menyebabkan kesalahan.
Bergantung pada pengaturan perilaku kesalahan, sumber CDC mendukung kesalahan yang dikembalikan (konversi data, pemotongan) yang terjadi selama proses ekstraksi dalam output kesalahan.
Dukungan jenis data
Komponen sumber CDC untuk Microsoft mendukung semua jenis data SQL Server, yang dipetakan ke jenis data SSIS yang benar.
Pemecahan masalah Sumber CDC
Berikut ini berisi informasi tentang pemecahan masalah sumber CDC.
Gunakan skrip ini untuk mengisolasi masalah dan mereproduksinya di SQL Server Management Studio
Operasi sumber CDC diatur oleh operasi tugas Kontrol CDC yang dijalankan sebelum memanggil sumber CDC. Tugas Kontrol CDC menyiapkan nilai variabel paket status CDC untuk berisi LSN awal dan akhir. Ini melakukan fungsi yang setara dengan skrip berikut:
use <cdc-enabled-database-name>
declare @start_lsn binary(10), @end_lsn binary(10)
set @start_lsn = sys.fn_cdc_increment_lsn(
convert(binary(10),'0x' + '<value-from-state-cs>', 1))
set @end_lsn =
convert(binary(10),'0x' + '<value-from-state-ce>', 1)
select * from cdc.fn_cdc_get_net_changes_dbo_Table1(@start_lsn,
@end_lsn, '<mode>')
di mana:
<cdc-enabled-database-name> adalah nama database SQL Server yang berisi tabel perubahan.
<value-from-state-cs> adalah nilai yang muncul dalam variabel status CDC sebagai CS/<value-from-state-cs>/ (CS adalah singkatan Current-processing-range-Start).
<value-from-state-ce> adalah nilai yang muncul dalam variabel status CDC sebagai CE/<value-from-state-cs>/ (CE adalah singkatan current-processing-range-End).
<mode> adalah mode pemrosesan CDC. Mode pemrosesan memiliki salah satu nilai berikut Semua, Semua dengan Nilai Lama, Bersih, Bersih dengan Perbarui Masker, Bersih dengan Gabungkan.
Skrip ini membantu mengisolasi masalah dengan mereproduksinya di SQL Server Management Studio, di mana mudah untuk mereproduksi dan mengidentifikasi kesalahan.
Pesan Kesalahan SQL Server
Pesan berikut mungkin dikembalikan oleh SQL Server:
Jumlah argumen yang tidak mencukup disediakan untuk prosedur atau fungsi cdc.fn_cdc_get_net_changes_<..>. .
Kesalahan ini tidak menunjukkan bahwa argumen hilang. Ini berarti bahwa nilai LSN awal atau akhir dalam variabel status CDC tidak valid.
Mengonfigurasi Sumber CDC
Anda dapat mengonfigurasi sumber CDC secara terprogram atau melalui SSIS Designer.
Untuk informasi selengkapnya, lihat salah satu topik berikut:
Kotak dialog Editor Lanjutan berisi properti yang dapat diatur secara terprogram.
Untuk membuka kotak dialog Editor Lanjutan:
- Di layar Aliran Data proyek SQL Server 2019 Integration Services (SSIS) Anda, klik kanan sumber CDC dan pilih Tampilkan Editor Lanjutan.
Untuk informasi selengkapnya tentang properti yang bisa Anda atur dalam kotak dialog Editor Lanjutan, lihat Properti Kustom Sumber CDC.
Di Bagian Ini
Editor Sumber CDC (Halaman Pengelola Sambungan)
Gunakan halaman Pengelola Sambungan kotak dialog Editor Sumber CDC untuk memilih pengelola koneksi ADO.NET untuk database SQL Server tempat sumber CDC membaca mengubah baris dari (database CDC). Setelah database CDC dipilih, Anda perlu memilih tabel yang diambil dalam database.
Untuk informasi selengkapnya tentang sumber CDC, lihat Sumber CDC.
Daftar Tugas
Untuk membuka Halaman Pengelola Sambungan Editor Sumber CDC
Di SQL Server Data Tools, buka paket SQL Server 2019 Integration Services (SSIS) yang memiliki sumber CDC.
Pada tab Aliran Data, klik dua kali sumber CDC.
Di Editor Sumber CDC, klik Pengelola Sambungan.
Opsi
pengelola koneksi ADO.NET
Pilih manajer koneksi yang sudah ada dari daftar, atau klik Baru untuk membuat koneksi baru. Koneksi harus ke database SQL Server yang diaktifkan untuk CDC dan tempat tabel perubahan yang dipilih berada.
Baru
Klik Baru. Kotak dialog Konfigurasikan editor ADO.NET Pengelola Sambungan terbuka di mana Anda bisa membuat manajer koneksi baru
Tabel CDC
Pilih tabel sumber CDC yang berisi perubahan yang diambil yang ingin Anda baca dan umpan ke komponen SSIS hilir untuk diproses.
Mengambil instans
Pilih atau ketik nama instans pengambilan CDC dengan tabel CDC yang akan dibaca.
Tabel sumber yang diambil dapat memiliki satu atau dua instans yang diambil untuk menangani transisi definisi tabel yang mulus melalui perubahan skema. Jika lebih dari satu instans pengambilan didefinisikan untuk tabel sumber yang diambil, pilih instans tangkapan yang ingin Anda gunakan di sini. Nama instans pengambilan default untuk tabel [skema]. [table] adalah <schema>_<table> tetapi nama instans pengambilan aktual yang digunakan mungkin berbeda. Tabel aktual yang dibaca dari adalah cdc tabel CDC .<capture-instance>_CT.
Mode Pemrosesan CDC
Pilih mode pemrosesan yang paling sesuai dengan kebutuhan pemrosesan Anda. Kemungkinan opsinya adalah:
Semua: Mengembalikan perubahan dalam rentang CDC saat ini tanpa nilai Sebelum Pembaruan .
Semua dengan nilai lama: Mengembalikan perubahan dalam rentang pemrosesan CDC saat ini termasuk nilai lama (Sebelum Pembaruan). Untuk setiap operasi Pembaruan, akan ada dua baris, satu dengan nilai sebelum pembaruan dan satu dengan nilai setelah pembaruan.
Net: Hanya mengembalikan satu baris perubahan per baris sumber yang dimodifikasi dalam rentang pemrosesan CDC saat ini. Jika baris sumber diperbarui beberapa kali, perubahan gabungan dihasilkan (misalnya, insert+update diproduksi sebagai pembaruan tunggal dan pembaruan+penghapusan dihasilkan sebagai satu penghapusan). Saat bekerja dalam mode pemrosesan perubahan Bersih, dimungkinkan untuk membagi perubahan ke output Hapus, Sisipkan, dan Perbarui dan tangani secara paralel karena baris sumber tunggal muncul dalam lebih dari satu output.
Bersih dengan masker pembaruan: Mode ini mirip dengan mode Net reguler tetapi juga menambahkan kolom boolean dengan pola nama __$<column-name>__Changed yang menunjukkan kolom yang diubah di baris perubahan saat ini.
Bersih dengan penggabungan: Mode ini mirip dengan mode Net reguler tetapi dengan operasi Sisipkan dan Perbarui digabungkan ke dalam satu operasi Penggabungan (UPSERT).
Catatan
Untuk semua opsi perubahan Net, tabel sumber harus memiliki kunci primer atau indeks unik. Untuk tabel tanpa kunci primer atau inde unik, Anda harus mengekstrak opsi Semua .
Variabel yang berisi status CDC
Pilih variabel paket string SSIS yang mempertahankan status CDC untuk konteks CDC saat ini. Untuk informasi selengkapnya tentang variabel status CDC, lihat Menentukan Variabel Status.
Sertakan kolom indikator pemrosesan ulang
Pilih kotak centang ini untuk membuat kolom output khusus yang disebut __$pemrosesan ulang.
Kolom ini memiliki nilai benar ketika rentang pemrosesan CDC tumpang tindih dengan rentang pemrosesan awal (rentang LSN yang sesuai dengan periode beban awal) atau ketika rentang pemrosesan CDC diproses ulang setelah kesalahan dalam eksekusi sebelumnya. Kolom indikator ini memungkinkan pengembang SSIS menangani kesalahan secara berbeda saat memproses ulang perubahan (misalnya, tindakan seperti penghapusan baris yang tidak ada dan sisipan yang gagal pada kunci duplikat dapat diabaikan).
Untuk informasi selengkapnya, lihat Properti Kustom Sumber CDC.
Editor Sumber CDC (Halaman Kolom)
Gunakan halaman Kolom dari kotak dialog Editor Sumber CDC untuk memetakan kolom output ke setiap kolom eksternal (sumber).
Daftar Tugas
Untuk membuka Halaman Kolom Editor Sumber CDC
Di SQL Server Data Tools, buka paket SQL Server 2019 Integration Services (SSIS) yang memiliki sumber CDC.
Pada tab Aliran Data, klik dua kali sumber CDC.
Di Editor Sumber CDC, klik Kolom.
Opsi
Kolom Eksternal yang Tersedia
Daftar kolom eksternal yang tersedia di sumber data. Anda tidak dapat menggunakan tabel ini untuk menambahkan atau menghapus kolom. Pilih kolom yang akan digunakan di sumber. Kolom yang dipilih ditambahkan ke daftar Kolom Eksternal dalam urutan dipilih.
Kolom Eksternal
Tampilan kolom eksternal (sumber) dalam urutan yang Anda lihat saat mengonfigurasi komponen yang menggunakan data dari sumber CDC. Untuk mengubah urutan ini, pertama-tama hapus kolom yang dipilih di daftar Kolom Eksternal yang Tersedia, lalu pilih kolom eksternal dari daftar dalam urutan yang berbeda. Kolom yang dipilih ditambahkan ke daftar Kolom Eksternal dalam urutan yang Anda pilih.
Kolom Output
Masukkan nama unik untuk setiap kolom output. Defaultnya adalah nama kolom eksternal (sumber) yang dipilih, namun Anda dapat memilih nama deskriptif unik. Nama yang dimasukkan ditampilkan di Perancang SSIS.
Editor Sumber CDC (Halaman Output Kesalahan)
Gunakan halaman Output Kesalahan dari kotak dialog Editor Sumber CDC untuk memilih opsi penanganan kesalahan.
Daftar Tugas
Untuk membuka Halaman Output Kesalahan Editor Sumber CDC
Di SQL Server Data Tools, buka paket SQL Server 2019 Integration Services (SSIS) yang memiliki sumber CDC.
Pada tab Aliran Data, klik dua kali sumber CDC.
Di Editor Sumber CDC, klik Output Kesalahan.
Opsi
Input/Output
Lihat nama sumber data.
Kolom
Tampilkan kolom eksternal (sumber) yang Anda pilih di halaman Pengelola Sambungan kotak dialog Editor Sumber CDC.
Kesalahan
Pilih bagaimana sumber CDC harus menangani kesalahan dalam alur: abaikan kegagalan, alihkan baris, atau gagalkan komponen.
Pemotongan
Pilih bagaimana sumber CDC harus menangani pemotongan dalam alur: abaikan kegagalan, alihkan baris, atau gagalkan komponen.
Keterangan
Tidak digunakan.
Atur nilai ini ke sel terpilih
Pilih bagaimana sumber CDC menangani semua sel yang dipilih saat terjadi kesalahan atau pemotongan: abaikan kegagalan, alihkan baris, atau gagalkan komponen.
Terapkan
Terapkan opsi penanganan kesalahan ke sel terpilih.
Opsi Penanganan Kesalahan
Anda menggunakan opsi berikut untuk mengonfigurasi bagaimana sumber CDC menangani kesalahan dan pemotongan.
Komponen Gagal
Tugas Aliran Data gagal ketika terjadi kesalahan atau pemotongan. Ini adalah perilaku default.
Abaikan Kegagalan
Kesalahan atau pemotongan diabaikan dan baris data diarahkan ke output sumber CDC.
Alur Pengalihan
Kesalahan atau baris data pemotongan diarahkan ke output kesalahan sumber CDC. Dalam hal ini, penanganan kesalahan sumber CDC digunakan. Untuk informasi selengkapnya, lihat Sumber CDC.