2010-10-01 191 views
5

几天前,我练习,我写了一些触发器这样的:服务器触发器在SQL Server中保存的位置?

create trigger trg_preventionDrop 
on all server 
for drop_database 
as 
print 'Can not Drop Database' 
rollback tran 

go 

create trigger trg_preventDeleteTable 
on database 
for drop_table 
as 
print 'you can not delete any table' 
rollback tran 

但问题是我不知道它救了我怎样才能删除或编辑的。

谢谢

回答

9

服务器触发

你可以在这里看到他们

select * from sys.server_triggers 

要删除使用此语法

drop trigger trg_preventionDrop on all server 

在Management Studio中,他们是根据“服务器对象“ - >”触发器“节点

数据库触发器

你可以在这里看到他们

select * from yourdb.sys.triggers 

要删除使用此语法

drop trigger trg_preventDeleteTable on database 

在Management Studio中,他们是在 “数据库” - >“ yourdb“ - >”可编程性“ - >”数据库触发器“节点

+0

非常感谢! – Mostafa 2010-10-01 22:25:20

+0

正常触发器的主体存储在sys.sql_modules中。服务器触发器的存储位置在哪里? – 2013-07-24 06:46:46

+0

@zespri'sys.server_sql_modules' – 2013-07-24 07:04:49

2

在Management Studio中的“DataBase” - >“YourDb” - >“YourTable” - >“Trigger”文件夹中的触发器

也可以通过执行以下sql来在特定表上找到触发器:
EXEC sp_helptrigger yourtablename