2014-11-06 263 views
0

我在哪里可以找到构建在数据库上的触发器的位置,我在Google上搜索过,但无法获得任何结果。SQL server 2008 r2触发位置

我的触发脚本是:

CREATE TRIGGER [log] 
ON DATABASE 
FOR DDL_DATABASE_LEVEL_EVENTS 
AS 
DECLARE @data XML 
SET @data = EVENTDATA() 
.... 
.... 
+0

你说的*触发器的位置意味着*? – 2014-11-06 08:14:21

+0

如果你的意思是,我在哪里可以找到SSMS的“对象浏览器”上的Tigger? – Mithrandir 2014-11-06 08:18:36

+0

是的,我的意思是。 – Ibra 2014-11-06 09:28:56

回答

0

这张图片是有帮助............

enter image description here

+0

Ahhh这是感谢 – Ibra 2014-11-06 11:28:56

0

要一一列举:

SELECT 
    sysobjects.name AS trigger_name 
    ,USER_NAME(sysobjects.uid) AS trigger_owner 
    ,s.name AS table_schema 
    ,OBJECT_NAME(parent_obj) AS table_name 
    ,OBJECTPROPERTY(id, 'ExecIsUpdateTrigger') AS isupdate 
    ,OBJECTPROPERTY(id, 'ExecIsDeleteTrigger') AS isdelete 
    ,OBJECTPROPERTY(id, 'ExecIsInsertTrigger') AS isinsert 
    ,OBJECTPROPERTY(id, 'ExecIsAfterTrigger') AS isafter 
    ,OBJECTPROPERTY(id, 'ExecIsInsteadOfTrigger') AS isinsteadof 
    ,OBJECTPROPERTY(id, 'ExecIsTriggerDisabled') AS [disabled] 
FROM sysobjects 

INNER JOIN sysusers 
    ON sysobjects.uid = sysusers.uid 

INNER JOIN sys.tables t 
    ON sysobjects.parent_obj = t.object_id 

INNER JOIN sys.schemas s 
    ON t.schema_id = s.schema_id 

WHERE sysobjects.type = 'TR' 

来源:Need to list all triggers in SQL Server database with table name and table's schema

要查看他们:

enter image description here

来源:Can't see the triggers that i created in sql server management studio 2008

+0

不,我知道我在哪里可以找到建立在表上的触发器,但是我不知道在数据库上建立的触发器的位置(在对象浏览器上) – Ibra 2014-11-06 09:32:35

+0

在触发器文件夹下,如上图所示? – Matt 2014-11-06 09:33:30

+0

没有不喜欢的图片 – Ibra 2014-11-06 09:34:18