关闭Microsoft SQL脚本还原的一致性检查

时间:2012-02-28 09:10:38

标签: sql-server sql-server-2005 consistency

在我遇到的其他几个数据库中,可以在恢复数据库的(脚本化)转储时关闭一致性检查。您的想法是,当您从数据库转储脚本时,您可以安全地还原它,而无需进行一致性检查,既可以加快速度,也不会受到您藏匿的订单的阻碍不同的表,外键,视图等。

(在Microsoft SQL(2005)上,您有'生成和发布脚本'。)

MS SQL有这样的转换吗?显然,你如何再次打开它 - 你怎么可能在之后强制进行全局一致性检查?

PS:我不一定需要这个功能来执行服务器生成的脚本..!

2 个答案:

答案 0 :(得分:1)

我不认为它可以是donne,但我不确定。

可以使用代码手动禁用约束:

ALTER TABLE table_name 
NOCHECK CONSTRAINT constraint_name

并使用相同的语法启用它,只需将NOCHECK更改为CHECK

即可

如果你真的需要它到整个数据库,你可以轻松地构建一些东西来遍历表和约束并执行这段代码

答案 1 :(得分:1)

给定数据库的“生成脚本”选项(2005)生成仅创建数据库对象所需的代码。它没有编写表格内容的脚本(例如,根据MySQL),因此不需要选项来禁用约束检查。

如果您希望还原数据库及其数据的副本,则首选路由是执行数据库备份,然后执行数据库还原。

有些第三方备份产品只允许您从完整数据库备份恢复特定对象。