Gejala
Pertimbangkan skenario berikut:
-
Anda menggunakan pencerminan database dalam mode kinerja tinggi asinkron di Microsoft SQL Server 2012 R2.
-
Anda mengaktifkan pelacakan perubahan pada database utama.
-
Anda membuat snapshot database pada database cermin.
-
Anda menggunakan fungsi CHANGE_TRACKING_CURRENT_VERSION () pada snapshot database untuk memeriksa versi yang terkait dengan transaksi komitmen terakhir.
Dalam skenario ini, nilai yang dikembalikan dari fungsi CHANGE_TRACKING_CURRENT_VERSION () salah. Ini adalah 0 atau lebih rendah dari nilai yang dikembalikan dari database utama.
Penyebab
Masalah ini terjadi karena kerusakan yang terkait dengan pemrosesan fungsi pada snapshot database. Fungsi CHANGE_TRACKING_CURRENT_VERSION () mengembalikan nilai yang salah pada snapshot database.
Pemecahan Masalah
Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut ini. Setelah Anda menerapkan perbaikan terbaru, SQL Server akan mengubah logika fungsi CHANGE_TRACKING_CURRENT_VERSION () . Nilai yang dikembalikan dari fungsi CHANGE_TRACKING_CURRENT_VERSION () pada snapshot database akan benar.
11 pembaruan kumulatif untuk SQL Server 2008 R2 SP2 /en-us/help/2926028
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".