Memproses Sisipan, Pembaruan, dan Penghapusan
Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory
Dalam aliran data paket Layanan Integrasi yang melakukan beban tambahan data perubahan, tugas kedua adalah memisahkan penyisipan, pembaruan, dan penghapusan. Kemudian, Anda dapat menggunakan perintah yang sesuai untuk menerapkannya ke tujuan.
Catatan
Tugas pertama dalam merancang aliran data paket yang melakukan beban data perubahan inkremental adalah mengonfigurasi komponen sumber yang menjalankan kueri yang mengambil data perubahan. Untuk informasi selengkapnya tentang komponen ini, lihat Mengambil dan Memahami Ubah Data. Untuk deskripsi proses keseluruhan untuk membuat paket yang melakukan beban tambahan data perubahan, lihat Mengubah Penangkapan Data (SSIS).
Mengaitkan Nilai Ramah untuk Memisahkan Sisipan, Pembaruan, dan Penghapusan
Dalam contoh kueri yang mengambil data perubahan, fungsi cdc.fn_cdc_get_net_changes_<capture_instance> hanya mengembalikan kolom metadata bernama __$operation. Kolom metadata ini berisi nilai ordinal yang menunjukkan operasi mana yang menyebabkan perubahan.
Catatan
Untuk informasi selengkapnya tentang kueri yang menggunakan fungsi cdc.fn_cdc_get_net_changes_<capture_instance> , lihat Membuat Fungsi untuk Mengambil Data Perubahan.
Mencocokkan nilai ordinal dengan operasi yang sesuai tidak semudah menggunakan mnemonic operasi. Misalnya, 'D' dapat dengan mudah mewakili operasi penghapusan dan 'I' mewakili operasi penyisipan. Contoh kueri yang dibuat dalam topik, Membuat Fungsi untuk Mengambil Data Perubahan, membuat konversi ini dari nilai ordinal ke nilai string yang ramah yang dikembalikan di kolom baru. Segmen kode berikut menunjukkan konversi ini:
select
...
case __$operation
when 1 then 'D'
when 2 then 'I'
when 4 then 'U'
else null
end as CDC_OPERATION
Mengonfigurasi Transformasi Pemisahan Bersyarah ke Sisipan Langsung, Pembaruan, dan Penghapusan
Untuk mengarahkan baris data perubahan ke salah satu dari tiga output, transformasi Pemisahan Bersyar sangat ideal. Transformasi hanya memeriksa nilai kolom CDC_OPERATION di setiap baris dan menentukan apakah perubahan tersebut adalah sisipkan, perbarui, atau hapus.
Catatan
Kolom CDC_OPERATION berisi nilai string ramah yang berasal dari nilai numerik di kolom operasi __$.
Untuk memisahkan sisipan, pembaruan, dan penghapusan untuk diproses dengan menggunakan transformasi Pemisahan Bersyarah
Pada tab Aliran Data, tambahkan transformasi Pemisahan Bersyar.
Sambungkan output sumber OLE DB ke transformasi Pemisahan Bersyarat.
Di Editor Transformasi Pemisahan Bersyarkat, di panel bawah editor, masukkan tiga baris berikut untuk menunjuk tiga output
Masukkan baris dengan kondisi
CDC_OPERATION == "I"
untuk mengarahkan baris yang disisipkan ke output untuk disisipkan.Masukkan baris dengan kondisi
CDC_OPERATION == "U"
untuk mengarahkan baris yang diperbarui ke output untuk pembaruan.Masukkan baris dengan kondisi
CDC_OPERATION == "D"
untuk mengarahkan baris yang dihapus ke output untuk dihapus.
Langkah Selanjutnya
Setelah Anda membagi baris untuk diproses, langkah selanjutnya adalah menerapkan perubahan ke tujuan.
Topik berikutnya: Terapkan Perubahan ke Tujuan
Lihat Juga
Transformasi Pemisahan Bersyarat
Memisahkan Himpunan Data dengan Menggunakan Transformasi Pemisahan Bersyarah