我可以将SQL 2008数据库还原到SQL 2005服务器吗?

我有一个与SQL Server 2008生产箱,我正在寻找合并我的DEV服务器与另一个正在运行2005年。所以我的问题是,有没有任何选项,我可以设置,这将允许我恢复2008年的生产转储我在SQL 2005新的开发?

谢谢!

不,你不能。 数据库格式不兼容。 关于最好的你可以做的是编写数据库并导出数据。 但是,请注意,SQL 2008新增的某些内容(如某些数据types)将会让您的2005实例发生旋转。

简单的答案是NO,您不能将SQL Server 2008备份还原到SQL Server 2005或更早版本。

这是详细的答案。

SQL Server会在主数据库的引导文件中维护大量关于数据库的元数据(包括它创build的版本),当您将数据库附加到服务器上并根据服务器的版本进行检查时,会读取这些信息。 请注意,这个内部版本不同于2000,2005和2008这样的软件版本。当一个较低版本的数据库附加到一个更高的版本(服务器)时,那么数据库的内部版本立即被碰撞,恢复/附加很好,但是当您将较高版本的数据库附加到较低的SQL Server时,将无法进行所需的validation。 其中一个原因是,元数据和系统内部的表和结构从一个SQL Server版本改变到另一个,而较低版本不能处理较高版本的结构。

您可以使用以下命令轻松检查这些信息。

DBCC DBINFO与TABLERESULTS

您需要查找dbi_createVersion DBINFO结构:DBINFO @ 0x467BEEE8 dbi_createVersion 655

SQL Server 7.0:515 SQL Server 2000:539 SQL Server 2005:611/612 SQL Server 2008:655

http://sqlblog.com/blogs/jonathan_kehayias/archive/2009/07/28/database-version-vs-database-compatibility-level.aspx

现在来解决这个问题,我必须同意gbn你可以在开发箱上并排安装一个SQL Server 2008,虽然它不会太麻烦,通过SSIS将模式/数据脚本化到SQL Server 2005实例,但是没有必要回到以前的版本,重要的是你总是希望保持生产和开发相同的版本与servcie包也否则你可能会看到开发和生产之间令人惊讶的结果。

如上所述,没有。

为什么不将SQL 2008安装到开发包中,因此您同时拥有SQL 2005和2008实例。 否则,如果您想定期复制prod或使用SQL 2008function,将会是一个完整的痛苦。