Нам пришлось использовать триггер для синхронизации c старой системы с новой, пока мы не сможем полностью отказаться от старой системы. Новая система вообще не нуждается в этом триггере и, фактически, немедленно завершает работу при условии, что это новое приложение.
Влияние на старую систему приемлемо.
Однако влияние на новую систему не потому, что новая система обрабатывает много, гораздо больше записей за одно обновление. Простое выполнение триггера изменяет обновление с 10 секунд (уже «UGH») до более чем полутора минут.
Новая система работает приемлемо, отключив триггер в коде (VS Core с EntityFramework btw), выполнив обновление, а затем повторное включение кода в рамках транзакции. Мои коллеги не согласны с тем, отключен ли триггер для другого приложения во время обработки транзакции.
Я уже видел этот пост:
https://dba.stackexchange.com/questions/204339/sql-server-how-to-disable-trigger-for-an-update-only-for-your-current-session
И первый ответ - это решение, которое я использую. Мои коллеги говорят мне, что это не сработает. Я верю, что так и будет. Но ответы 2 - что бы ни противоречили первому ответу.
Мое тестирование также подтвердило первый ответ, но я должен быть уверен на 100% в этом.
TIA