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

我有一个SQL Server 2008数据库,我需要将它带入我的环境,但是我的生产服务器都运行SQL Server 2005.升级环境不是一个选项,至less在短期内不是这样。

但是,如果可以在转换过程中提供帮助,则可以使用非生产型SQL Server 2008框。

数据库大小为1GB。

我如何处理这个转换?

谢谢!

看到2005年到2000年这个类似的问题 。

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

好消息是,SQL 2008 Management Studio使这个超级简单,甚至给你一个选项,包括在脚本中的数据。 只需右键单击数据库,转到任务,然后单击“生成脚本”。 浏览向导,并确保select包含数据的选项。

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

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

  • 升级的数据库保留其兼容性级别。 例如,一个在SQL Server 2000上创build的数据库,没有改变它的兼容级别,当升级到SQL Server 2005时,它将保持在80个兼容级别。

  • 数据库版本是在数据库的引导页中标记的数字,指示数据库连接到的最新SQL Server实例的SQL Server版本。

  • SQL Server不是“上一级兼容的”。 您不能将在SQL Server 2005上创build(或已经升级到)SQL Server 2005的数据库附加到任何早期版本的SQL Server(对于试图将2000数据库附加到7.0等也是如此)。

  • 您无法附加在较早版本上创build的数据库,而无需执行正确的升级过程。 使用各种hacky方法强制附加数据库将导致各种奇怪的错误,并可能崩溃。

好的 – 我下面的回答是错误的。 我会留下来的,因为讨论我为什么错了肯定是有价值的。

如果数据库不依赖于2008年的任何特定function,请尝试将兼容级别设置为2005(90),然后执行备份并还原到您的服务器。

我不知道如果你已经拿到DB BAK文件,你是否可以做到这一点。

如果这取决于2008年的特定function,那么您就是没有DBA和开发人员的SOL来帮助您。