Как удалить большое количество строк, не влияя на репликацию Informatica?

Я не совсем уверен, если это вызовет проблему или нет. Но в нашей среде, когда вы выбираете из больших таблиц, мы должны включать WITH(nolock) в противном случае мы получаем тупики между операторами выбора и репликацией Informatica в реальном времени, пытаясь заполнить эти таблицы. В настоящее время мы стремимся использовать задания SQL для очистки старых записей из таблиц. В большинстве таблиц будет удалено менее 1000 строк раз в неделю. В процессе первоначальной очистки будет несколько таблиц, в которых будут удалены миллионы записей.

Не уверен, что было бы лучше приостановить репликацию в реальном времени на время очистки или просто попытаться разрешить конфликты, как только они возникнут.

У меня нет хорошего способа проверить это в среде Dev, потому что нет такого же количества людей, обращающихся к серверу с запросом, обновлениями в реальном времени и всем остальным, что создает нормальную нагрузку на производстве. В производстве это будет выполняться один раз в неделю в течение медленных часов, что должно минимизировать общую нагрузку, но при этом не хотеть сбой Informatica при каждом запуске.

Примечание: этот вопрос не о том, как писать операторы удаления в SQL или о прерывании удаления небольшими порциями, а о том, как избежать конфликтов с репликацией в реальном времени с продуктом Informatica.

База данных - SQL Server 2012
Репликация - Informatica 9.0.1

0 ответов

Другие вопросы по тегам