触发器自动被禁用...为什么?

触发器自动被禁用...为什么?

我有一个触发器,但它总是被禁用。它可以连续运行几个月而不会出现问题,然后就被禁用了。为什么?

知道以下信息会很酷:当它被禁用时,我是否可以记录?是什么禁用了它?是否有办法设置已禁用的电子邮件警报?

答案1

一定有人禁用了它。您可以设置在后台运行的 SQL 跟踪来查找 ALTER TRIGGER 命令。

如果您使用的是 SQL Server 2005 及更高版本,则可以在数据库上放置一个 DDL 触发器来回滚 ALTER 语句,然后记录该命令。

使用 SQL 2000,您所要做的就是运行跟踪。

答案2

取决于其他人可能在你的数据库中指什么……另一种可能性是某人有一份工作或存储过程或一段代码:

Disabling the trigger 
Performing an action 
Enabling the trigger 
(however it fails somewhere before the enable)

-或者-

Disabling the trigger
Performing an action
NOT enabling the trigger

您可能需要快速搜索您的代码和 sprocs/jobs 来查找触发器的名称,看看是否有人在做这样的事情。

相关内容