日期:2014-05-17  浏览次数:20567 次

删除触发器问题
【背景】在sql server 2012上的Test数据库测试触发器,触发器是on all server;测试代码如下:
create table testtr(id int identity(1,1),name varchar(20));
go
create TRIGGER [Tri_tb]
ON all server
FOR create_TABLE,alter_table, drop_table            --,drop_table,insertd,deleted
AS
insert into testtr(name) values('test')
GO

【疑问】可以disable该触发器,但是想删除触发器,发现在这个触发器在对象资源管理器中没有存在,在sys.objects中查找也找不到,是不是因为on all server的原因?该如何删除该触发器?

------解决方案--------------------
这里也没有?
------解决方案--------------------

drop trigger [Tri_tb] on all server

------解决方案--------------------
因为你创建的触发器是on all server的,所以在删除时,也必须要加上on all server,否则会报错