查找停止触发的详细信息

时间:2013-09-18 09:30:10

标签: sql tsql triggers sql-server-2012

也许问题不适合这个地方,但我会尝试:

我在一张桌子上有五个触发器,经过一段时间(大约五个月)后,我意识到其中两个被禁用了。

是否有机会找到停止此触发器的时间,以及是谁手动禁用?

如果问题不属于此,请告知我放在哪里。

非常感谢

1 个答案:

答案 0 :(得分:1)

这是一个可以获取您想要的大部分信息的查询,如果您在特定数据库中运行它,它将列出所有具有触发器的表,触发器的名称,是否被禁用或不,以及上次创建/修改的时间。

SQL服务器不记录启用/禁用触发器的人,我认为如果您需要该信息,则必须设置审核:

SELECT  DB_NAME() AS [Database] ,
        OBJECT_NAME([parent_object_id]) AS [table] ,
        name AS [Trigger] ,
        OBJECTPROPERTY([object_id], 'ExecIsTriggerDisabled') AS [Disabled],
        create_date,
        modify_date
FROM    sys.objects
WHERE   [type] = 'TR'