Gejala
Pertimbangkan skenario berikut:
-
Anda menggunakan sp_cdc_cleanup_change_table untuk mengelola proses pembersihan tabel perubahan.
-
Kemacetan terjadi antara pemindaian tangkapan data (CDC) perubahan dan pembersihan CDC ketika sp_cdc_cleanup_change_table diminta.
Dalam skenario ini, kesalahan berikut 22852 dengan tingkat keparahan 10 (pesan informasi) terjadi:
Tidak dapat menghapus entri tabel yang sudah tidak tngkap oleh perubahan dalam satu atau beberapa tanda air rendah untuk instans pengambilan <DatabaseName>. Kegagalan tersebut terjadi saat menjalankan perintah <CommandName>. Kesalahan yang dikembalikan adalah <ErrorInfo>.
Gunakan tindakan dan kesalahan untuk menentukan penyebab kegagalan dan mengirimkan ulang permintaan.
Catatan Karena ini adalah pesan informasi, proses pembersihan tidak gagal, dan tidak ada cara untuk menentukan apakah pembersihan berhasil atau gagal.
Detail tentang perbaikan
Untuk menentukan apakah pembersihan berhasil atau gagal ketika Anda menggunakan sp_cdc_cleanup_change_table, parameter output opsional (bit fCleanupFailed) akan ditambahkan ke sp_cdc_cleanup_change_table lain. Ini dapat digunakan untuk memeriksa apakah pembersihan contoh tangkapan gagal. Jika output fCleanupFailed adalah 0, semua pembersihan akan berhasil. Jika 1, setidaknya pembersihan satu item tangkapan gagal. Berikut contohnya:
-- Mendeklarasikan variabel dan Mengatur ke nol terlebih dahuluÂ
select @cleanup_failed_bit = 0
--Execute cleanup and obtain output bit
EXEC @retcode =sys.sp_cdc_cleanup_change_table
@capture_instance = '<CaptureInstance>',
@low_water_mark = @LSN,
@threshold = 1 ,
@fCleanupFailed = @cleanup_failed_bit output     Â
--Leverage @cleanup_failed_bit output to check the status.
Pemecahan Masalah
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:
Setiap pembaruan kumulatif baru untuk SQL Server berisi hotfix dan perbaikan keamanan yang ada dalam build sebelumnya. Sebaiknya instal build terbaru untuk versi uji SQL Server:
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.