SQL Server:检查触发器是启用还是禁用?

Vik*_*ore 55 t-sql sql-server triggers sql-server-2008

我们如何在SQL Server 2008中查看哪个触发器已启用或已禁用?

gbn*_*gbn 88

运用 sys.triggers

SELECT name, is_disabled FROM sys.triggers
Run Code Online (Sandbox Code Playgroud)

  • @Vikrant更多:是的 (4认同)
  • 谢谢!这是工作.所以如果is_disabled = 0表示触发器已启用且is_disabled = 1表示禁用我是对的吗? (3认同)

小智 8

在大型数据库中,您通常不知道触发器的表。

SELECT OBJECT_NAME(parent_id) [table_name],[name] [trigger_name],is_disabled
FROM sys.triggers 
Run Code Online (Sandbox Code Playgroud)


小智 5

描述性触发状态可帮助您清楚地了解状态。还排除与用户表无关的触发器。

检查下面的代码:

SELECT OBJECT_NAME(parent_id) [Table_Name],[name] [Trigger_Name],
Case When is_disabled=0 then 'Enabled' Else 'Disabled' End [Trigger_Status], is_disabled
FROM sys.triggers 
where OBJECT_NAME(parent_id) is not null 
Run Code Online (Sandbox Code Playgroud)