在我遇到的其他几个数据库中,可以在恢复数据库的(脚本化)转储时关闭一致性检查。您的想法是,当您从数据库转储脚本时,您可以安全地还原它,而无需进行一致性检查,既可以加快速度,也不会受到您藏匿的订单的阻碍不同的表,外键,视图等。
(在Microsoft SQL(2005)上,您有'生成和发布脚本'。)
MS SQL有这样的转换吗?显然,你如何再次打开它 - 你怎么可能在之后强制进行全局一致性检查?
PS:我不一定需要这个功能来执行服务器生成的脚本..!
答案 0 :(得分:1)
我不认为它可以是donne,但我不确定。
可以使用代码手动禁用约束:
ALTER TABLE table_name
NOCHECK CONSTRAINT constraint_name
并使用相同的语法启用它,只需将NOCHECK更改为CHECK
即可如果你真的需要它到整个数据库,你可以轻松地构建一些东西来遍历表和约束并执行这段代码
答案 1 :(得分:1)
给定数据库的“生成脚本”选项(2005)生成仅创建数据库对象所需的代码。它没有编写表格内容的脚本(例如,根据MySQL),因此不需要选项来禁用约束检查。
如果您希望还原数据库及其数据的副本,则首选路由是执行数据库备份,然后执行数据库还原。
有些第三方备份产品只允许您从完整数据库备份恢复特定对象。