Sql server 有没有办法获取SQL Server中的触发器事件列表?

Sql server 有没有办法获取SQL Server中的触发器事件列表?,sql-server,sql-server-2008,sql-server-2008-r2,Sql Server,Sql Server 2008,Sql Server 2008 R2,可以找出特定触发器的事件或事件组列表? 实际上,我需要一些返回事件列表(或表)的查询 这个问题与DML和DDL DB作用域触发器有关。这可能会对您有所帮助 SELECT SO.NAME , SE.* FROM sys.trigger_events SE INNER JOIN sys.objects SO ON SE.object_id = SO.object_id 此查询提供数据库中触发器的列表及其类型描述。 如果特定触发器需要它,请使用WHERE条件 SELECT SO.N

可以找出特定触发器的事件或事件组列表? 实际上,我需要一些返回事件列表(或表)的查询

这个问题与DML和DDL DB作用域触发器有关。

这可能会对您有所帮助

 SELECT SO.NAME
    , SE.*
FROM sys.trigger_events SE
INNER JOIN sys.objects SO
    ON SE.object_id = SO.object_id
此查询提供数据库中触发器的列表及其类型描述。 如果特定触发器需要它,请使用
WHERE
条件

SELECT SO.NAME
    , SE.*
FROM sys.trigger_events SE
INNER JOIN sys.objects SO
    ON SE.object_id = SO.object_id
WHERE SO.name = 'trigger_name'

通过事件,您的意思是给定的触发器是否用于/而不是insert/update/delete?@Fergus Bown,是的,用于DML触发器insert/update/delete。对于DDL-Events:,Event group:,最好能找到触发器“time”(for/AFTER/而不是:)的查询。对于MySQL或Postgre等其他DBMS来说,这不是什么大问题,但对于SQL Server来说,这一点并不明显。但你可能是指内部连接系统触发器?因为对于sys.objects-结果为空(在DDL触发器上测试)。