Есть ли способ обеспечить выполнение спускового триггера SQL Server?
-
16-10-2019 - |
Вопрос
Мой руководитель не решается использовать триггер в процессе, потому что, если в нужное время происходит прерывание сети, процесс не завершится. Включает ли SQL Server триггер в транзакции вызовой процедуры? Если нет, то как лучше всего это реализовать?
Решение
Да. Триггеры встречаются в виде неявной вложенной транзакции в рамках транзакции вызывающего абонента. Триггер совершит или откатится назад как часть этой транзакции.
Видеть:
Другие советы
Есть довольно много ситуаций, когда триггеры не стреляют, например:
Стол сброшен.
Таблица усечена.
Настройки для вложенных и/или рекурсивных триггеров предотвращают стрельбу через триггер.
Итак, в SQL Server триггер НЕТ гарантированно выполнить. Иногда его можно обойти.
Также триггер может быть просто неправильным. В любом случае, вы можете получить сироты в вашей базе данных.
Если вы опубликуете то, что вы пытаетесь достичь с помощью своего триггера, возможно, мы сможем помочь вам реализовать его с ограничениями.