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

Posted

技术标签:

【中文标题】SQL Server:检查触发器是启用还是禁用?【英文标题】:SQL Server: check whether a Trigger is Enabled or Disabled? 【发布时间】:2011-12-29 12:46:27 【问题描述】:

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

【问题讨论】:

【参考方案1】:

使用sys.triggers

SELECT name, is_disabled FROM sys.triggers

【讨论】:

谢谢!这是工作。所以如果 is_disabled = 0 表示触发器已启用,is_disabled = 1 表示禁用我对吗? 如果需要在禁用特定触发器时执行操作,可以使用:if exists (SELECT name, is_disabled FROM sys.triggers where name ='MyTriggerName' and is_disabled=1) /*执行操作 */【参考方案2】:

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

SELECT OBJECT_NAME(parent_id) [table_name],[name] [trigger_name],is_disabled
FROM sys.triggers 

【讨论】:

【参考方案3】:

触发器的描述状态帮助您清楚地准备好状态。同时排除与用户表无关的触发器。

检查以下代码:

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 

【讨论】:

以上是关于SQL Server:检查触发器是启用还是禁用?的主要内容,如果未能解决你的问题,请参考以下文章

SQL server查看触发器是否被禁用

禁用触发器的N种方法

如何检查“显示通知”是启用还是禁用?

更新触发器后 SQL Server 不起作用

如何打开并检查 Play Protect 是启用还是禁用

如何在android studio上以编程方式检查自动启动权限是启用还是禁用