2012-06-20 52 views
0

我需要将SQL Server 2008中的数据库移动到2005年,备份格式是否发生了变化,或者我可以在SQL Server 2005中导入导出的数据库吗?是否可以从SQL Server 2008中导出数据库并将其导入到SQL Server 2005中?

该数据库包含表,视图和存储过程,它不使用任何2008特定功能。

如果这是不可能的,在这种情况下将兼容模式设置为SQL-Server 2005 (90)帮助?

谢谢。

+0

您是否尝试过并收到错误? –

+1

您将无法备份SQL 2008 R2数据库并在SQL Server 2005中恢复。 –

+0

@Neil问题是关于'sql server 2008'到2005 .... – Tirumudi

回答

3

在SSMS中选择您的数据库,右键单击,选择任务,选择生成脚本。在弹出的对话框中,启用所有选项,包括脚本数据,并确保选择“SQL Server 2005的脚本”。在您的SQL Server 2005机器上执行生成的脚本。当然,这只适用于相对较小的数据库。否则,您将不得不通过bcp导出/导入数据。

+0

我无法找到选项“SQL Server 2005的脚本”我在Express版上测试了这个选项。 – CloudyMarble

+0

手头没有SQLServerExpress,但是在我的已安装副本(Developer Edition)上,该选项出现在脚本向导“选项”窗格中可以设置的选项列表中(“服务器版本脚本”) –

1

您将无法做到这一点 - 备份文件包含版本号,SQL 2005将拒绝恢复备份。同样,您将无法分离和重新附加原始数据文件。

你唯一的选择,总之升级SQL 2005至2008年,是使用SSMS的能力生成脚本导出SQL架构和存储过程,然后迁移使用(例如)BCP数据或SSIS包。

将会有第三方工具可能会帮助其中的一些(例如,Redgate的SQL比较和SQL数据比较的组合)。然而,这是你必须研究的东西。

+0

感谢你克里斯,升级是不是在我的情况oportion,和dtaa本身不是问题(还),我假设一个csv文件的数据将是可导入的,但表结构是问题,猜不得生成脚本,修复问题像数据类型,并在2005年运行它们,但我期望的问题是因为公会的完整性,这使得我创建表的关键是关键 – CloudyMarble

相关问题