Bagikan melalui


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

  1. Pada tab Aliran Data, tambahkan transformasi Pemisahan Bersyar.

  2. Sambungkan output sumber OLE DB ke transformasi Pemisahan Bersyarat.

  3. Di Editor Transformasi Pemisahan Bersyarkat, di panel bawah editor, masukkan tiga baris berikut untuk menunjuk tiga output

    1. Masukkan baris dengan kondisi CDC_OPERATION == "I" untuk mengarahkan baris yang disisipkan ke output untuk disisipkan.

    2. Masukkan baris dengan kondisi CDC_OPERATION == "U" untuk mengarahkan baris yang diperbarui ke output untuk pembaruan.

    3. 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