Применяется к
SQL Server 2019 on Windows SQL Server 2017 on Windows

Проблемы

Рассмотрим следующий сценарий.

  • Вы sp_cdc_cleanup_change_table для управления процессом очистки таблицы.

  • При вызове sp_cdc_cleanup_change_table возникает запамятие между сканированием данных (CDC ) и очисткой CDC.

В этом сценарии возникает следующая ошибка 22852 со степенью важности 10 (информационное сообщение):

Не удалось удалить элементы таблицы, которые устарели из-за изменения в одной или несколько низких меток воды для экземпляров захвата базы данных <Имя базы>. Сбой произошел при выполнении команды <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:

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Ссылки

Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.