Есть ли способ обеспечить выполнение спускового триггера SQL Server?

dba.stackexchange https://dba.stackexchange.com/questions/10167

  •  16-10-2019
  •  | 
  •  

Вопрос

Мой руководитель не решается использовать триггер в процессе, потому что, если в нужное время происходит прерывание сети, процесс не завершится. Включает ли SQL Server триггер в транзакции вызовой процедуры? Если нет, то как лучше всего это реализовать?

Это было полезно?

Решение

Да. Триггеры встречаются в виде неявной вложенной транзакции в рамках транзакции вызывающего абонента. Триггер совершит или откатится назад как часть этой транзакции.

Видеть:

Другие советы

Есть довольно много ситуаций, когда триггеры не стреляют, например:

  • Стол сброшен.

  • Таблица усечена.

  • Настройки для вложенных и/или рекурсивных триггеров предотвращают стрельбу через триггер.

Итак, в SQL Server триггер НЕТ гарантированно выполнить. Иногда его можно обойти.

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

Если вы опубликуете то, что вы пытаетесь достичь с помощью своего триггера, возможно, мы сможем помочь вам реализовать его с ограничениями.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top