是否可以在sql server 2005中恢复Sql Server 2008备份

Nay*_*tty 26 sql sql-server-2005 sql-server-2008

是否可以将SQL Server 2008数据库的备份还原到SQL Server 2005的实例上?

我需要处理sql server 2008中数据库备份的示例应用程序.但是我将无法安装2008.那么有可能在2005年恢复备份吗?

Gar*_*ler 35

不可以.无法从较新版本的备份中恢复数据库.

如果您已经死定,我认为您最好的选择是在SQL 2008中的对象资源管理器中选择数据库,右键单击,选择任务 - >生成脚本.在选项对话框中可以查看所有内容,包括脚本数据.

并确保选择"Script for SQL 2005".

资源

将对象导入目标服务器时,如果对象很大,您可能会发现无法通过Management Studio打开SQL文件(完全没用"操作无法完成"错误,不会少).没关系,只需通过加载文件即可sqlcmd.

  • 我不想成为允许它成为可能的微软产品经理. (3认同)

小智 6

所有答案都缺少一个重要的事情,那就是SSMS中的Generate Scripts没有正确排序脚本.

必须以正确的依赖顺序对脚本进行排序,以便在父表等之后创建子表.

对于小型数据库而言,这不是一个问题,因为它很容易手动重新排序脚本,但在处理具有100多个对象的数据库时,这可能是一个巨大的问题.

我的经验是,使用第三方工具最方便,可以按正确顺序读取备份和生成脚本.我正在使用来自ApexSQL的ApexSQL Diff和Data Diff,但你不会对任何流行的供应商出错.


Mit*_*eat 5

不,不是直接的.SQL Server 2008数据库备份不与SQL Server 2005向后兼容.但是,使用SQL Server 2008 Management Studio,您可以在SQL Server 2005模式下编写脚本数据和模式.该文章详细地描述了过程.


小智 5

对的,这是可能的

在SQL Server 2008中使用导出。转到All Programs-> Microsoft SQL Server 2008-> Import and Export Data

  • 然后SQL Server Import AND Export Wizard将打开窗口。按Next

  • 选择一个数据源(在您的情况下为SQL Server 2008)。选择一个目标(在您的情况下为SQL Server 2005)。

  • 选择 Copy data from one or more tables or view

  • 选择源表和目标表

  • 点击NextFinish

去完成。