1

如果没有,有没有办法判断触发器何时被禁用/启用?

跟进:

这是一个相当有趣的诊断案例。我只是从外围参与进来,做诊断的人不是数据库人。

无论如何,他有一个触发器,可以将数据从一个表移动到另一个表。他做了一个比较,并不是所有的数据都进入了第二张表。我说,我是 SQL Server 的批评者,但我相信他们的触发器会在同一个事务中触发。他说,但有些数据成功了……如果它只是被禁用,什么都不应该成功。真的。所以我说也许有人在启用和禁用触发器。因此问题。

但真正发生的是有人永久禁用触发器并将代码复制到设置为在特定时间运行的存储过程中。

正确的取证测试应该是查看第二个表的依赖关系,看看还有什么在使用它。这将显示肿瘤sproc......(我一直在看很多房子重播,你能说出来吗)。

4

2 回答 2

1

没有审计,尽管有一家名为 Lumigent 的公司提供产品“审计数据库”,该产品将为 SQL Server 进行 DDL 审计(除其他外)。

您可以在 sysobjects 表中查找 crdate,它会告诉您对象的创建时间。

于 2009-02-05T21:31:40.203 回答
0

您的问题看起来与 Randy Volters 在 Simple-Talk 中所写的问题非常相似

http://www.simple-talk.com/sql/database-administration/dml-trigger-status-alerts/

我怀疑它会有所帮助

于 2009-02-06T11:27:13.870 回答