在我遇到的其他几个数据库上,可以在还原数据库的(脚本化)转储时关闭一致性检查。这个想法是,当您从数据库中转储脚本时,您可以安全地恢复它,而无需进行一致性检查,既可以加快速度,又不会受到您存储在不同表中的顺序、外键、意见等
(在 Microsoft SQL (2005) 上,您有“生成和发布脚本”。)
MS SQL 有这样的开关吗?显然,您如何再次打开它 - 之后您如何可能强制进行全局一致性检查?
PS:我不一定需要这个功能来执行服务器生成的脚本..!
在我遇到的其他几个数据库上,可以在还原数据库的(脚本化)转储时关闭一致性检查。这个想法是,当您从数据库中转储脚本时,您可以安全地恢复它,而无需进行一致性检查,既可以加快速度,又不会受到您存储在不同表中的顺序、外键、意见等
(在 Microsoft SQL (2005) 上,您有“生成和发布脚本”。)
MS SQL 有这样的开关吗?显然,您如何再次打开它 - 之后您如何可能强制进行全局一致性检查?
PS:我不一定需要这个功能来执行服务器生成的脚本..!
我不认为它可以完成,但我不确定。
可以做的是使用代码手动禁用约束:
ALTER TABLE table_name
NOCHECK CONSTRAINT constraint_name
并使用相同的语法启用它,只需将 NOCHECK 更改为 CHECK
如果您真的需要整个数据库,您可以轻松构建一些东西来循环遍历表和约束并执行此代码
给定数据库的“生成脚本”选项 (2005) 仅生成创建数据库对象所需的代码。它不会编写表格内容(例如按照 MySQL),因此不需要禁用约束检查的选项。
如果您希望恢复数据库的副本及其数据,那么最好的方法是执行数据库备份,然后执行数据库恢复。
有一些第三方备份产品可以让您从完整数据库备份中仅恢复特定对象。