Menerapkan Perubahan ke Tujuan
Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory
Dalam aliran data paket Layanan Integrasi yang melakukan beban data perubahan bertahap, tugas ketiga dan terakhir adalah menerapkan perubahan ke tujuan Anda. Anda akan memerlukan satu komponen untuk menerapkan sisipan, satu untuk menerapkan pembaruan, dan satu untuk menerapkan penghapusan.
Catatan
Tugas kedua dalam merancang aliran data paket yang melakukan beban tambahan data perubahan adalah memisahkan penyisipan, pembaruan, dan penghapusan. Untuk informasi selengkapnya tentang komponen ini, lihat Sisipan Proses, Pembaruan, dan Penghapusan. Untuk deskripsi proses keseluruhan untuk membuat paket yang melakukan beban tambahan data perubahan, lihat Mengubah Penangkapan Data (SSIS).
Menerapkan Sisipan
Untuk menerapkan penyisipan, Anda menggunakan tujuan OLE DB karena baris baru tidak memerlukan penanganan khusus.
Untuk memproses penyisipan dengan menggunakan Tujuan OLE DB
Pada tab Aliran data , tambahkan tujuan OLE DB.
Sambungkan output yang berisi sisipan dari transformasi Pemisahan Bersyarat ke tujuan OLE DB.
Di Editor Tujuan OLE DB, pada halaman Pengelola Sambungan, pilih opsi berikut:
Pilih atau buat Pengelola Sambungan OLE DB untuk database tujuan.
Pilih opsi Mode akses data, lalu pilih tabel tujuan atau masukkan pernyataan SQL yang berisi kolom tujuan.
Pada halaman Pemetaan editor, petakan kolom yang sesuai dari data perubahan ke tabel tujuan.
Menerapkan Pembaruan
Untuk menerapkan pembaruan, Anda menggunakan transformasi Perintah OLE DB. Anda menggunakan transformasi ini karena Anda harus menggunakan pernyataan UPDATE berparameter untuk memperbarui satu baris pada satu waktu dengan nilai kolom baru.
Catatan
Anda juga dapat menggunakan komponen tujuan untuk menerapkan pembaruan. Saat menggunakan pendekatan ini, Anda menggunakan komponen tujuan untuk menyimpan baris ke tabel sementara yang Anda buat untuk tujuan ini. Kemudian, Anda menggunakan tugas Jalankan SQL untuk melakukan pembaruan massal dan operasi penghapusan massal terhadap tujuan dari tabel sementara.
Untuk memproses pembaruan dengan menggunakan transformasi Perintah OLE DB
Pada tab Aliran data , tambahkan transformasi Perintah OLE DB.
Sambungkan output yang berisi pembaruan dari transformasi Pemisahan Bersyarat ke transformasi Perintah OLE DB.
Di Editor Lanjutan untuk Perintah OLE DB, pada tab Pengelola Sambungan, pilih atau buat Pengelola Sambungan OLE DB untuk database tujuan.
Di Editor Lanjutan untuk Perintah OLE DB, pada tab Properti Komponen, untuk SqlCommand, masukkan pernyataan UPDATE berparameter.
Misalnya, pernyataan UPDATE untuk tabel Pelanggan mungkin memiliki sintaks berikut:
update CDCSample.Customer set TerritoryID = ?, CustomerType = ?, rowguid = ?, ModifiedDate = ? where CustomerID = ?
Pada tab Pemetaan Kolom editor, petakan kolom yang sesuai dari data perubahan ke parameter dalam pernyataan UPDATE.
Menerapkan Penghapusan
Untuk menerapkan penghapusan, Anda menggunakan transformasi Perintah OLE DB. Anda menggunakan transformasi ini karena Anda harus menggunakan pernyataan DELETE berparameter yang menghapus satu baris pada satu waktu berdasarkan nilai kolom yang mengidentifikasi baris secara unik.
Catatan
Anda juga dapat menggunakan komponen tujuan untuk menerapkan penghapusan. Saat menggunakan pendekatan ini, Anda menggunakan komponen tujuan untuk menyimpan baris ke tabel sementara yang Anda buat untuk tujuan ini. Kemudian, Anda menggunakan tugas Jalankan SQL untuk melakukan pembaruan massal dan operasi penghapusan massal terhadap tujuan dari tabel sementara.
Untuk memproses penghapusan dengan menggunakan transformasi Perintah OLE DB
Pada tab Aliran data, tambahkan transformasi Perintah OLE DB ke aliran data.
Sambungkan output yang berisi penghapusan dari transformasi Pemisahan Bersyarat ke transformasi Perintah OLE DB.
Buka Editor Lanjutan untuk mengonfigurasi transformasi.
Di Editor Lanjutan untuk Perintah OLE DB, pada tab Pengelola Sambungan, pilih atau buat Pengelola Sambungan OLE DB untuk database tujuan.
Di Editor Lanjutan untuk Perintah OLE DB, pada tab Properti Komponen editor, untuk SqlCommand, masukkan pernyataan DELETE berparameter.
Misalnya, pernyataan DELETE untuk tabel Pelanggan mungkin memiliki sintaks berikut:
delete from Customer where CustomerID = ?
Pada tab Pemetaan Kolom editor, petakan kolom yang sesuai dari data perubahan ke parameter dalam pernyataan DELETE.
Mengoptimalkan Sisipan dan Pembaruan dengan Menggunakan Fungsionalitas MERGE
Anda dapat mengoptimalkan pemrosesan sisipan dan pembaruan dengan menggabungkan opsi pengambilan data perubahan tertentu dengan penggunaan kata kunci TRANSACT-SQL MERGE. Untuk informasi selengkapnya tentang kata kunci MERGE, lihat MERGE (Transact-SQL).
Dalam pernyataan Transact-SQL yang mengambil data perubahan, Anda dapat menentukan semua dengan penggabungan sebagai nilai parameter row_filter_option saat Anda memanggil fungsi cdc.fn_cdc_get_net_changes_<capture_instance> . Fungsi penangkapan data perubahan ini beroperasi lebih efisien ketika tidak harus melakukan pemrosesan tambahan yang diperlukan untuk membedakan sisipan dari pembaruan. Saat Anda menentukan semua dengan nilai parameter penggabungan , nilai operasi __$dari data perubahan adalah 1 untuk penghapusan atau 5 untuk perubahan yang disebabkan oleh sisipan atau pembaruan. Untuk informasi selengkapnya tentang fungsi Transact-SQL yang digunakan untuk mengambil data perubahan, lihat Mengambil dan Memahami Data Perubahan. Setelah mengambil perubahan dengan semua dengan nilai parameter penggabungan , Anda dapat menerapkan penghapusan, dan menghasilkan baris yang tersisa ke tabel sementara atau tabel penahapan. Kemudian, dalam Tugas Jalankan SQL hilir, Anda dapat menggunakan satu pernyataan MERGE untuk menerapkan semua sisipan atau pembaruan dari tabel penahapan ke tujuan.