sql触发器消失了

时间:2009-09-14 14:17:24

标签: sql sql-server tsql sql-server-2008 triggers

我在sql server表中有一个触发器。这个触发器已经消失了。有没有系统的东西可能导致它被删除?

此数据库上没有复制。

3 个答案:

答案 0 :(得分:4)

重新创建表可以删除触发器。也可以禁用触发器。可能是其中一种选择吗?

答案 1 :(得分:4)

2个选项如果消失

  • DROP / CREATE TABLE ...
  • DROP TRIGGER ......

一个选项,如果不工作_

  • ALTER TABLE ... DISABLE TRIGGER ......

您可以查看是否使用此表重新创建了表。当然,它并没有告诉你谁......

SELECT create_date, modify_date FROM sys.objects WHERE name = 'MyTable'

例如,通过SSMS GUI更改的表格出错了,可以删除触发器。但是没有系统的过程可以随机丢弃一个触发器:它需要某人明确的行动。

答案 2 :(得分:1)

除了Randolf所说的,其他一些开发者或dba可能会因为干扰他或她想做的事而放弃了触发器。不是每个人都理解做这些愚蠢事情的后果,所以他们发生了。如果是这种情况,这将是需要更正式化流程和限制生产访问的一个很好的例子。

希望您在源代码管理下拥有触发器,并且可以轻松地重新创建它。

您也可以考虑实施DDL触发器,以便将来可以阻止这些事情,或者至少看看是谁做的。