Bagikan melalui


Tentang Pelacakan Perubahan (SQL Server)

Pelacakan perubahan adalah solusi ringan yang menyediakan mekanisme pelacakan perubahan yang efisien untuk aplikasi. Biasanya, untuk memungkinkan aplikasi mengkueri perubahan data dalam database dan mengakses informasi yang terkait dengan perubahan, pengembang aplikasi harus menerapkan mekanisme pelacakan perubahan kustom. Membuat mekanisme ini biasanya melibatkan banyak pekerjaan dan sering terlibat menggunakan kombinasi pemicu, kolom, timestamp tabel baru untuk menyimpan informasi pelacakan, dan proses pembersihan kustom.

Berbagai jenis aplikasi memiliki persyaratan berbeda untuk seberapa banyak informasi yang aplikasi butuhkan tentang perubahan. Aplikasi dapat menggunakan pelacakan perubahan untuk menjawab pertanyaan berikut tentang perubahan yang telah dibuat pada tabel pengguna:

  • Baris apa yang telah berubah untuk tabel pengguna?

    • Hanya fakta bahwa baris telah berubah diperlukan, bukan berapa kali baris telah berubah atau nilai dari setiap perubahan menengah.

    • Data terbaru dapat diperoleh langsung dari tabel yang sedang dilacak.

  • Apakah baris berubah?

    • Fakta bahwa baris telah berubah dan informasi tentang perubahan harus tersedia dan dicatat pada saat perubahan dilakukan dalam transaksi yang sama.

Catatan

Jika aplikasi memerlukan informasi tentang semua perubahan yang dibuat dan nilai perantara dari data yang diubah, menggunakan tangkapan data perubahan, alih-alih pelacakan perubahan, mungkin sesuai. Untuk informasi selengkapnya, lihat Tentang Mengubah Pengambilan Data (SQL Server).

Aplikasi Sinkronisasi One-Way dan Two-Way

Aplikasi yang harus menyinkronkan data dengan instans SQL Server Database Engine harus dapat meminta perubahan. Pelacakan perubahan dapat digunakan sebagai fondasi untuk aplikasi sinkronisasi satu arah dan dua arah.

Aplikasi Sinkronisasi One-Way

Aplikasi sinkronisasi satu arah, seperti klien atau aplikasi penembolokan tingkat menengah, dapat dibangun dengan menggunakan pelacakan perubahan. Seperti yang ditunjukkan dalam ilustrasi berikut, aplikasi penembolokan memerlukan data untuk disimpan di Mesin Database dan disimpan di penyimpanan data lainnya. Aplikasi harus dapat menjaga cache tetap terbarui dengan perubahan apa pun yang telah dibuat pada tabel database. Tidak ada perubahan untuk diteruskan kembali ke Mesin Database.

Memperlihatkan aplikasi sinkronisasi satu arah

Aplikasi Sinkronisasi Two-Way

Aplikasi sinkronisasi dua arah juga dapat dibangun yang menggunakan pelacakan perubahan. Dalam skenario ini, data dalam instans Mesin Database disinkronkan dengan satu atau lebih penyimpanan data. Data di penyimpanan tersebut dapat diperbarui dan perubahan harus disinkronkan kembali ke Mesin Database.

Menampilkan aplikasi sinkronisasi dua arah

Contoh yang baik dari aplikasi sinkronisasi dua arah adalah aplikasi yang kadang-kadang terhubung. Dalam jenis aplikasi ini, aplikasi klien mengkueri dan memperbarui penyimpanan lokal. Ketika koneksi tersedia antara klien dan server, aplikasi akan disinkronkan dengan server, dan mengubah aliran data di kedua arah.

Aplikasi sinkronisasi dua arah harus dapat mendeteksi konflik. Konflik akan terjadi jika data yang sama diubah di kedua penyimpanan data dalam waktu antara sinkronisasi. Dengan kemampuan untuk mendeteksi konflik, aplikasi dapat memastikan bahwa perubahan tidak hilang.

Cara Kerja Pelacakan Perubahan

Untuk mengonfigurasi pelacakan perubahan, Anda dapat menggunakan pernyataan DDL atau SQL Server Management Studio. Untuk informasi selengkapnya, lihat Mengaktifkan dan Menonaktifkan Pelacakan Perubahan (SQL Server). Untuk melacak perubahan, pelacakan perubahan harus diaktifkan terlebih dahulu untuk database lalu diaktifkan untuk tabel yang ingin Anda lacak dalam database tersebut. Definisi tabel tidak harus diubah dengan cara apa pun, dan tidak ada pemicu yang dibuat.

Setelah pelacakan perubahan dikonfigurasi untuk tabel, pernyataan DML apa pun yang memengaruhi baris dalam tabel akan menyebabkan informasi pelacakan perubahan untuk setiap baris yang diubah dicatat. Untuk mengkueri baris yang telah berubah dan untuk mendapatkan informasi tentang perubahan, Anda bisa menggunakan fungsi pelacakan perubahan.

Nilai kolom kunci primer hanyalah informasi dari tabel terlacak yang direkam dengan informasi perubahan. Nilai-nilai ini mengidentifikasi baris yang telah diubah. Guna mendapatkan data terbaru untuk baris tersebut, aplikasi dapat menggunakan nilai kolom kunci primer untuk menggabungkan tabel sumber dengan tabel yang dilacak.

Informasi tentang perubahan yang dilakukan pada setiap baris juga dapat diperoleh dengan menggunakan pelacakan perubahan. Misalnya, jenis operasi DML yang menyebabkan perubahan (menyisipkan, memperbarui, atau menghapus) atau kolom yang diubah sebagai bagian dari operasi pembaruan.

Lihat juga

Mengaktifkan dan Menonaktifkan Pelacakan Perubahan (SQL Server)
Bekerja dengan Pelacakan Perubahan (SQL Server)
Mengelola Pelacakan Perubahan (SQL Server)
Lacak Perubahan Data (SQL Server)