Симптоми
Помислете за следния сценарий:
-
Можете да sp_cdc_cleanup_change_table за управление на процеса на почистване на таблицата за промяна.
-
Блокиране възниква между сканирането за записване на данни (CDC) и почистването на CDC , sp_cdc_cleanup_change_table се извиква.
В този случай възниква следната грешка 22852 с тежест 10 (информационно съобщение):
Не може да се изтрият записите за таблица, направени остарели от промяна в една или повече малки водни знаци за събиране на екземпляри на <DatabaseName>. Възникна грешка при изпълнение на командата <CommandName>. Върнатата грешка е <ErrorInfo>.
Използвайте действието и грешката, за да определите причината за грешката и да потечете отново искането.
ЗабележкаТъй като това е информационно съобщение, процесът на почистване не е неуспешен и няма начин да се определи дали почистването е успешно или неуспешно.
Подробни данни за корекцията
За да определите дали почистването е успешно, или е неуспешно, когато използвате sp_cdc_cleanup_change_table, към функцията sp_cdc_cleanup_change_table се добавя незадължителен изходен параметър ( fCleanupFailed bit). Това може да се използва, за да се провери дали почистването на всички екземпляри на заснемане е неуспешно. Ако fCleanupFailed изход е 0, цялото почистване успява. Ако е 1, поне почистването на един екземпляр на заснемане е неуспешно. Ето пример:
-- Първо деклариране на променлива и задаване на нула
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.
Решение
Този проблем е коригиран в следните кумулативни актуализации за SQL Server:
Всяка нова сборна актуализация за SQL Server съдържа всички актуални корекции и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:
Състояние
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".
Препратки
Научете повече за терминологията, която Microsoft използва, за да опише софтуерните актуализации.