使用SQL 2008构建的数据库文件与2005不兼容。是否可以解决?
使用SQL 2008构建的数据库文件与2005不兼容。是否可以解决?
Answers:
无需第三方工具。SQL Server 2008 Management Studio为我们提供了一个功能强大的工具来向下转换数据库,因为他们在“脚本数据库”向导中添加了“脚本数据”选项。
只需右键单击SQL2008 SSMS中的数据库,然后转到“任务”,然后单击“生成脚本”
逐步浏览向导,确保在表/视图选项下为“脚本数据”选择“真”。选择所有对象,然后运行它在2005服务器上创建的脚本。(请记住,如果原始数据库很大,则创建的脚本可能非常庞大!)
请注意,您甚至可以针对SQL2005服务器运行向导,以将SQL2005数据库下转换为SQL2000(当然,您需要在工作站上安装2008工具)。
您可以将数据从一个SQL Server实例BCP到另一个实例。这将是将数据从一个版本复制到另一个版本的最快方法。根据数据量,可能需要很长时间。
据我所知,不幸的是,没有直接的方法可以将数据库从2008年的格式降级为2005年的格式。
我过去执行此操作的方式(实际上是使用旧版本的SQL Server,但过程将相同)是:
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
如果您已经这样链接了实例) )仅复制数据并在步骤3之后添加所有其他结构(索引,proc,触发器,...)可能会更有效。这避免了由约束和触发器引起的行插入顺序问题,并在索引处构建索引。从理论上讲,结束时应该比构建它们快得多,因为添加了所有数据-尽管如果表上有任何聚簇索引,则在添加数据之前创建这些聚簇索引,因为在事实创建之后它们将不会更快。
当然,所有这些都假定您的对象都不使用SQL 2008特定的功能-如果这样做,您将希望在重建架构时出错时发现并修复此类问题。如果您的任何代码都依赖于正式未定义的行为,而这种行为在SQL Server版本之间却有所不同,那么您可能会遇到一些更微妙和难以捉摸的错误,以供日后查找和解决。