我正在寻找一种方法来暂时关闭所有数据库的约束(例如表关系)。
我需要将一个数据库的表复制(使用插入)到另一个数据库。我知道我可以通过以正确的顺序执行命令来实现这一点(不破坏关系)。
但是如果我可以暂时关闭检查约束并在操作完成后重新打开它会更容易。
这可能吗?
您只能在 SQL 2005+ 中禁用 FK 和 CHECK 约束。请参阅更改表
ALTER TABLE foo NOCHECK CONSTRAINT ALL
或者
ALTER TABLE foo NOCHECK CONSTRAINT CK_foo_column
不能禁用主键和唯一约束,但如果我理解正确的话,这应该没问题。