将数据库从SQL Server 2008传输到SQL Server 2005?

如何将数据库从SQL Server 2008传输到SQL Server 2005?

我已将兼容级别设置为90,并创build了备份。

exception消息说:

设备上的媒体系列…不正确

没有机会build立数据库之间的连接使用SSIS向导复制数据。

如何有效地将数据库从SQL 2008转移到2005?

我非常确定,不幸的是,根本不可能恢复由更新版本的SQL服务器备份的数据库。

虽然无法连接机器以使用向导执行导出,但它们可能是否支持生成包含结构和数据的脚本(很像mySQL备份)? 标准工具当然可以生成结构和存储可编程性的脚本(procs,triggers,…)。 输出数据和重新导入可能会有一些小小的错误,但这是可能的。

另一个select是将SQL2008安装在SQL2005实例本地的某处,然后尝试执行基于向导的传输方式(恢复到SQL2008并通过SSIS从那里传输)。 有一个时间有限的SQL2008评估版: http : //www.microsoft.com/sqlserver/2008/en/us/trial-software.aspx
同样,你也可以尝试一下,在SQL2008实例的本地安装SQL2005,使用SSIS将东西传输到那里,从而能够生成SQL2005兼容备份文件。

一旦升级,数据库永远不会降级。 设置兼容级别仅改变查询执行的某些方式,但对数据库的物理格式完全没有影响:90兼容模式数据库是SQL 2008数据库,而不是SQL 2005数据库。

因此,如果您需要在SQL 2005上部署数据库,则必须在SQL 2005上创build该数据库。不仅如此,还必须是SQL 2005的相同版本,即SP和CU级别相同。 或者至less比目标服务器早一个版本。 因此,如果目标服务器是SP1 CU3,则可以在RTM的任何CU和SP1,SP1 CU1,SP1 CU2或SP1 CU3上创build数据库。 但是,您不能在SP1 CU4上创build它,也不能在任何SP1后发布(如SP2)上创build它。 正如我所说的,数据库可以升级,但从不降级。

您可以select将数据库和内容编写为文本SQL,然后将脚本导入到目标服务器,在适当的SQL服务器版本上重新创build数据库,或者将目标升级到2008。

数据库有多大? 我假设你没有使用任何新的2008年数据types。

您可以在SQL Server 2008中脚本化数据库模式并使脚本与2005兼容。之后,您可以从2008年的所有表中完成BCP并将其导入到2005年。您也可以通过SSIS实现此目的,但BCP会更快(对我来说至less)