Как очистить отслеживание изменений для конкретной версии?
Я использую технологию отслеживания изменений для синхронизации двух разных баз данных A и B.
Если что-то изменилось в A, я могу определить эти изменения и отправить его в B. Я также использую собственную мета-таблицу в DWH, где хранится некоторая важная информация о последней использованной версии CT из последней синхронизации.
Проблема заключается в том, что срок хранения по умолчанию равен 2 дням, а auto_cleanup - ON. Это означает, что через 2 дня я потеряю некоторые изменения, если возникнут какие-либо проблемы с HW во время синхронизации дольше, чем эти 2 дня. Конечно, я могу установить срок хранения на более длительный срок, тем не менее он не решит его полностью (если бы я установил срок хранения на X дней, все же может быть проблема HW дольше, чем эти X дней).
Лучше всего отключить auto_cleanup и очищать его каждый раз после синхронизации. Итак, мой вопрос:
"Есть ли способ, как вручную очистить отслеживание изменений только частично - до какой-то конкретной версии?"
Например:
Я бы синхронизировал контакты от А до Б, где CHANGE_TRACKING_CURRENT_VERSION()
будет 4562. Я бы сохранить это в моей мета-таблицы и запустить мою функцию ручной очистки MY_MANUAL_CLEANUP_FUNCTION(4562)
который очищает все строки с CT_ID менее 4562. CHANGE_TRACKING_MIN_VALID_VERSION ( Contacts )
вернется 4562.
Заранее спасибо за любые комментарии!