SQL Server 2012:“ALL SERVER”在哪里触发存储的脚本

时间:2013-12-05 15:35:44

标签: sql sql-server tsql triggers

如果我创建了触发器以在“ALL SERVER”上触发,那么将在何处存储触发器。

在所有服务器上创建TRIGGER trg_LogonAttempt 登录 如 开始 如果ORIGINAL_LOGIN()='dbo'

如果我将其关闭,我希望能够再次找到并修改它。我知道触发器通常保存在表下的对象资源管理器中。 谢谢。

1 个答案:

答案 0 :(得分:9)

您可以从master数据库的目录视图中获取此信息:

USE master;
GO

SELECT name, OBJECT_DEFINITION ([object_id]) 
FROM sys.server_triggers
-- WHERE name = N'trg_LogonAttempt'
;

您也可以通过UI编写脚本,正如@Michael指出的那样 - 服务器级触发器存储在Instance>下。服务器对象>触发器:

  

enter image description here