Optimalkan kinerja replikasi gabungan dengan pelacakan penghapusan bersyarat

Berlaku untuk:SQL Server

Catatan

Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.

Dengan menggunakan merge replication, Anda dapat menentukan bahwa pemicu replikasi dan tabel sistem tidak melacak penghapusan untuk satu atau lebih artikel. Jika Anda memilih opsi ini untuk sebuah artikel, penghapusan tidak dilacak atau direplikasi dari Publisher atau Pelanggan manapun. Opsi ini mendukung sejumlah skenario aplikasi dan memberikan optimasi kinerja untuk kasus di mana replikasi penghapusan tidak diperlukan atau tidak diinginkan. Kinerja ditingkatkan dalam tiga cara: sistem tidak menyimpan metadata untuk penghapusan; tidak mencatat penghapusan selama sinkronisasi; dan tidak mereplikasi penghapusan atau menerapkannya pada Pelanggan.

Catatan

Untuk menggunakan artikel yang hanya dapat diunduh, tingkat kompatibilitas publikasinya setidaknya harus 90RTM.

Opsi ini dapat ditentukan saat publikasi dibuat, atau dapat diaktifkan atau dinonaktifkan jika aplikasi mengharuskan sebagian operasi penghapusan direplikasi, sedangkan sebagian lainnya tidak, seperti operasi penghapusan batch. Contoh berikut mengilustrasikan cara di mana opsi ini dapat digunakan dalam aplikasi:

  • Aplikasi untuk tenaga penjualan seluler biasanya memiliki tabel seperti SalesOrderHeader, SalesOrderDetail, dan Product. Pesanan dimasukkan ke Subscriber lalu direplikasi ke Publisher, yang sering memasok data ke sistem pemenuhan pesanan. Banyak pekerja lapangan menggunakan perangkat genggam yang memiliki kapasitas penyimpanan terbatas: setelah pesan diterima di Publisher, pesan tersebut dapat dihapus oleh Subscriber. Penghapusan tidak disebarluaskan ke Publisher, karena pesanan masih aktif dalam sistem.

    Dalam skenario ini, penghapusan tidak akan dilacak untuk tabel SalesOrderHeader dan SalesOrderDetail . Penghapusan akan dilacak untuk tabel Produk , karena jika produk dihapus di Penerbit, penghapusan harus dikirim ke Pelanggan untuk menjaga daftar produk tetap terbarui.

  • Aplikasi dapat menyimpan data historis dalam tabel seperti TransactionHistory, yang secara berkala menghapus rekaman yang lebih lama dari satu tahun. Tabel dapat difilter sedih sehingga Pelanggan hanya menerima data pada transaksi dalam bulan ini. Penghapusan batch bulanan pada Publisher yang membersihkan data lama tidak relevan bagi Subscriber, tetapi secara default tetap akan dilacak dan dihitung.

    Dalam skenario ini, sebelum pemrosesan batch terjadi, aktivitas dapat dihentikan pada sistem, dan aplikasi dapat menonaktifkan pelacakan penghapusan. Setelah pemrosesan selesai, pelacakan dapat diaktifkan lagi.

Penting

Jika aktivitas lain masih berlangsung di Publisher, Anda harus memastikan agar penghapusan yang seharusnya disebarkan ke Subscribers tidak terjadi selama pelacakan penghapusan dinonaktifkan.

Untuk menentukan bahwa penghapusan tidak boleh dilacak