Ознаки
Розглянемо такий сценарій:
-
Процес очищення sp_cdc_cleanup_change_table таблиці змінюється за допомогою цієї процедури.
-
Крайнє блокування відбувається між скануванням захопленням даних (CDC) і очищенням CDC sp_cdc_cleanup_change_table викликаних даних.
У цьому сценарії виникає така помилка 22852 із серйозністю 10 (інформаційне повідомлення):
Не вдалося видалити записи в таблиці змін, внесені застарілими в одному або кількох низьких водяних знаках для записування екземплярів бази даних <DatabaseName>. Сталася помилка під час виконання команди <CommandName>. Повернуто помилку, через <Info ,>.
Скористайтеся дією та помилкою, щоб визначити причину помилки та надіслати запит повторно.
Примітка. Оскільки це інформаційне повідомлення, процес очищення не завершується без помилок і немає способу визначення успіху чи помилки очищення.
Докладні відомості про виправлення
Щоб визначити, чи очищення завершиться помилкою під час використання 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, перелічених у розділі "Стосується".
Посилання
Дізнайтеся про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.