由于另一个SQL Server版本,无法使用.bak文件还原数据库

时间:2014-01-27 15:41:51

标签: sql-server restore

我已经安装了SQL Server 2008 R2,并尝试恢复同事在.bak文件中发送给我的数据库。

不幸的是,我无法恢复数据库,因为数据库已从版本10.50.1600保存在服务器上,而我的SQL服务器版本似乎是10.00.1600。

我尝试使用SP1和SP2包升级我的SQL服务器,但它没有改变任何内容。

否则,我注意到,通过单击服务器属性,“product”行显示Microsoft SQL Server Express版,即使我已经安装了SQL Server 2008 R2。这至少是我发射它时显示的内容......

任何人都可以帮助我吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

不能执行此操作 - 您无法从SQL Server的较新版本(SQL Server 2008 R2 - 10.50.1600)附加/分离或备份/恢复数据库到旧版本(2008 - v10.00.1600) - 内部文件结构太不相同,无法支持向后兼容性。

您可以通过

解决此问题
  • 在所有计算机上使用相同版本的SQL Server - 然后您可以在实例之间轻松备份/恢复数据库

  • 否则,您可以在SQL Server Management Studio(Tasks > Generate Scripts中为结构(表,视图,存储过程等)和内容(表中包含的实际数据)创建数据库脚本)或使用第三方工具

  • 或者您可以使用Red-Gate的SQL CompareSQL Data Compare之类的第三方工具在源和目标之间进行“差异化”,根据这些差异生成更新脚本,然后在目标平台上执行这些脚本;这适用于不同的SQL Server版本。

答案 1 :(得分:0)

Understand, what the version numbers mean.您需要使用R2,而不仅仅是补丁或服务包。