KB5008296 - DÜZELTME: Hata iletisi olmadan bir kilitlenme nedeniyle eksik değişiklik verileri yakalama temizleme yürütmesi tanımlanmadı

Uygulandığı Öğe
SQL Server 2019 on Windows SQL Server 2017 on Windows

Belirtiler

Aşağıdaki senaryoyu ele alalım:

  • Değişiklik tablosu temizleme işlemini yönetmek için sp_cdc_cleanup_change_table kullanırsınız.
  • sp_cdc_cleanup_change_table çağrıldığında, değişiklik verilerini yakalama (CDC) taraması ile CDC temizleme arasında bir kilitlenme oluşur.

Bu senaryoda, önem derecesi 10 olan aşağıdaki 22852 hatası (bilgilendirici ileti) oluşur:

Not

DatabaseName veritabanının>< örneklerini yakalamak için bir veya daha fazla düşük su işaretinde yapılan bir değişiklikle geçersiz hale getirilen değişiklik tablosu girişleri silinemedi. KomutAdı> komutu < yürütülürken hata oluştu. Döndürülen hata ErrorInfo> idi<.

Hatanın nedenini belirlemek için eylemi ve hatayı kullanın ve isteği yeniden gönderin.

Notlar Bu bilgilendirici bir ileti olduğundan, temizleme işlemi başarısız olmaz ve temizlemenin başarılı olup olmadığını belirlemenin bir yolu yoktur.

Düzeltmeyle ilgili ayrıntılar

sp_cdc_cleanup_change_table kullandığınızda temizleme işleminin başarılı olup olmadığını belirlemek için isteğe bağlı bir çıkış parametresi (fCleanupFailed biti) sp_cdc_cleanup_change_table işleve eklenir. Bu, herhangi bir yakalama örneğinin temizlenmesinin başarısız olup olmadığını denetlemek için kullanılabilir. fCleanupFailed çıkışı 0 ise tüm temizleme başarılı olur. 1 ise, en azından bir yakalama örneğinin temizlenmesi başarısız olur. Bu işlemle ilgili bir örneği aşağıda bulabilirsiniz:

-- Declaring a variable and Setting to zero first

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.

Çözüm

Bu sorun, SQL ServerSQL Server için aşağıdaki toplu güncelleştirmelerde düzeltilmiştir:

SQL Server toplu güncelleştirmeleri hakkında

SQL Server için her yeni toplu güncelleştirme, önceki derlemede yer alan tüm düzeltmeleri ve güvenlik düzeltmelerini içerir. SQL Server sürümünüz için en son derlemeyi yüklemenizi öneririz:

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Başvurular

Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.