我在sql server表中有一个触发器。这个触发器已经消失了。有没有系统的东西可能导致它被删除?
此数据库上没有复制。
答案 0 :(得分:4)
重新创建表可以删除触发器。也可以禁用触发器。可能是其中一种选择吗?
答案 1 :(得分:4)
2个选项如果消失
一个选项,如果不工作_
您可以查看是否使用此表重新创建了表。当然,它并没有告诉你谁......
SELECT create_date, modify_date FROM sys.objects WHERE name = 'MyTable'
例如,通过SSMS GUI更改的表格出错了,可以删除触发器。但是没有系统的过程可以随机丢弃一个触发器:它需要某人明确的行动。
答案 2 :(得分:1)
除了Randolf所说的,其他一些开发者或dba可能会因为干扰他或她想做的事而放弃了触发器。不是每个人都理解做这些愚蠢事情的后果,所以他们发生了。如果是这种情况,这将是需要更正式化流程和限制生产访问的一个很好的例子。
希望您在源代码管理下拥有触发器,并且可以轻松地重新创建它。
您也可以考虑实施DDL触发器,以便将来可以阻止这些事情,或者至少看看是谁做的。