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:检查触发器是启用还是禁用?的主要内容,如果未能解决你的问题,请参考以下文章