如何屏蔽sqlServer触发器

我做的程序有时涉及大批量地将其他数据源的数据合并到Sqlserver数据库,这时候想不让触发器运行,否则回非常耗时,十分容易导致超时。

特请教:
该怎么暂时屏蔽触发器呢?
如能屏蔽,如何恢复正常呢?
---------------------------------------------------------------

禁用:
ALTER TABLE trig_example DISABLE TRIGGER trig1
GO
恢复:
ALTER TABLE trig_example ENABLE TRIGGER trig1
GO

---------------------------------------------------------------

--禁用某个表上的所有触发器
ALTER TABLE 你的表 DISABLE TRIGGER all

--启用某个表上的所有触发器
ALTER TABLE 你的表 enable TRIGGER all

--禁用所有表上的所有触发器
exec sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all'

--启用所有表上的所有触发器
exec sp_msforeachtable 'ALTER TABLE ? enable TRIGGER all'

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus