使用复制向导时更改兼容级别

时间:2011-03-31 16:47:12

标签: sql sql-server sql-server-2008 sql-server-2008-r2

如果Sql Server 2008 R2数据库中的兼容级别更改为2005,那么复制数据库向导是否可以复制数据库而不会出现从2008 R2到2005的任何问题?

或者生成脚本是将2008 R2数据库复制到2005数据库的唯一方法。

2 个答案:

答案 0 :(得分:1)

我不相信您可以使用复制向导将数据库降级回2005.但是,SSMS中的DataImport ...任务应该能够帮助您移动数据表和视图。 (基本上它会创建一个SSIS包来传输表定义和数据)

但是如果你想真正移动数据库脚本是最好的选择。您还可以查看Red Gate中的工具,例如SQLCompare和SQLDataCompare。

答案 1 :(得分:0)

因为兼容级别设置为比当前版本更低的值不禁止您使用更新的功能。它所做的只是停止强制删除功能以保持现有代码的向后兼容性。由于您可以在2008数据库中使用新的数据类型和功能,因此如果不分析使用的新功能,则无法直接复制回2005。

如果你在2008年开发并且prod是2005年,你需要立即停止这种做法。否则,在尝试发送产品之前,您将浪费大量时间使用新功能而不会意识到这一点。

数据库更改通常只能通过脚本完成,因为您不希望冒险丢弃并重新创建具有现有数据的表。此外,数据库更改脚本应该像您正在部署的版本一样处于源代码管理中,就像其他代码一样。在脚本中进行更改的部分原因是您在prod上运行的脚本已经在dev和QA上进行了测试。