将 SQL Server 2008 数据库转换为 SQL Server 2005 的最简单方法是什么?

Mic*_*uch 2 sql-server

我有一个 SQL Server 2008 数据库需要引入我的环境,但我的生产服务器都在运行 SQL Server 2005。升级环境不是一种选择,至少在近期内不是。

但是,我确实有非生产 SQL Server 2008 框可以使用,如果它们可以在转换过程中提供帮助的话。

数据库大小为 1GB。

我如何处理这种转换?

谢谢!

Bra*_*adC 7

请参阅有关 2005 年至 2000 年的类似问题

唯一的方法是恢复到 2008 服务器,编写 2008 数据库的脚本,然后在 SQL2005 服务器上运行脚本。

好消息是 SQL 2008 Management Studio 使这个超级简单,甚至为您提供了在脚本中包含数据的选项。只需右键单击数据库,转到任务,然后单击“生成脚本”。完成向导,并确保选择包含数据的选项。

编辑:我更多地研究了为什么不能使用其他方法(从备份还原,或通过附加)来完成的技术细节,结果发现数据库有两个不同的属性,兼容性级别数据库版本:(摘自SQL 存储引擎博客

  • 数据库兼容性级别决定了某些数据库行为的工作方式。例如,在 90 兼容性中,您需要使用 OUTER JOIN 语法来进行外连接,而在早期的兼容级别中,您可以使用“ =”和“= ”。

  • 升级后的数据库保留其兼容性级别。例如,在 SQL Server 2000 上创建的数据库没有更改其兼容级别,升级到 SQL Server 2005 时将保持 80 兼容级别。

  • 数据库的版本是在指示数据库连接到最近的SQL Server实例的SQL Server版本数据库的启动页加盖了许多。

  • SQL Server 不是“上层兼容”。不能将在 SQL Server 2005 上创建(或已升级到)的数据库附加到任何早期版本的 SQL Server(尝试将 2000 数据库附加到 7.0,等等)。

  • 如果不经过正确的升级过程,则无法附加在早期版本上创建的数据库。使用各种骇人听闻的方法强行附加数据库将导致各种奇怪的错误,并可能导致崩溃。

  • +1 谢谢!我担心这个程序会很麻烦,但它进行得很好。 (2认同)