SQLSERVER中禁用和启动约束和触发器
禁用所有外键约束
sp_msforeachtable "alter table ? nocheck CONSTRAINT all"
--再启用所有外键约束
sp_msforeachtable "alter table ? check constraint all"
禁用所有trigger
sp_msforeachtable "alter table ? disable trigger all"?
--再启用所有trigger
sp_msforeachtable "alter table ? enable trigger all"
---------------------------------------------------------------------
下面是帮助文档中的内容
{ CHECK | NOCHECK} CONSTRAINT
指定启用或禁用 constraint_name。如果禁用,将来插入或更新该列时将不用该约束条件进行验证。此选项只能与 FOREIGN KEY 和 CHECK 约束一起使用。
- ALL
- 指定使用 NOCHECK 选项禁用所有约束,或者使用 CHECK 选项启用所有约束。
{ENABLE | DISABLE} TRIGGER
指定启用或禁用 trigger_name。当一个触发器被禁用时,它对表的定义依然存在;然而,当在表上执行 INSERT、UPDATE 或 DELETE 语句时,触发器中的操作将不执行,除非重新启用该触发器。
- ALL
- 指定启用或禁用表中所有的触发器。
- trigger_name
- 指定要启用或禁用的触发器名称。
column_name data_type
新列的数据类型。data_type 可以是任何 Microsoft® SQL Server™ 数据类型或用户定义数据类型。