如何判断SQL Server 2000中是否启用了触发器

时间:2009-02-05 21:05:59

标签: sql-server triggers status

这应该不难做到。我希望企业管理器显示一个触发器文件夹,一个列表和一个图标......但我没有看到它。我的谷歌搜索结果给了我答案,我必须编写代码。你在跟我开玩笑吗?唯一的方法是编写代码吗?

3 个答案:

答案 0 :(得分:8)

SELECT
CASE OBJECTPROPERTY(OBJECT_ID('trigger name goes here'), 'ExecIsTriggerDisabled')
WHEN 0 THEN 'ENABLED'
ELSE 'DISABLED'
END

答案 1 :(得分:5)

此查询将返回所有触发器及其状态以及触发器所用的表。

SELECT
 so1.name as TriggerName, 
 CASE 
  OBJECTPROPERTY(OBJECT_ID(so1.name), 'ExecIsTriggerDisabled')
  WHEN 0 THEN 'ENABLED'
  ELSE 'DISABLED'
 END AS Status,
 so2.Name as TableName
FROM 
 SysObjects so1
 JOIN SysObjects so2
  ON so2.Id = so1.Parent_obj
WHERE 
 so1.type = 'TR'

答案 2 :(得分:4)

在Enterprise Manager中深入查看数据库 - >并选择表格

在详细信息窗格中,右键单击相关表格,然后选择“管理触发器”,瞧!你应该能够在那里找到你想要的东西。