SQL Server数据库还原失败 - 版本冲突

时间:2015-10-15 20:35:36

标签: sql-server database

我正在尝试从*.bak文件恢复SQL Server数据库备份,每当我尝试通过Microsoft SQL Server Management Studio进行恢复时,都会出现以下错误:

  

恢复数据库' ALA_PPD'失败。
  (Microsoft.SqlServer.Management.RelationalEngineTasks)

     

其他信息:

     

System.Data.SqlClient.SqlError:数据库已在运行12.00.2000版的服务器上备份。该版本与此服务器不兼容,该服务器运行的版本为11.00.2100。在支持备份的服务器上还原数据库,或使用与此服务器兼容的备份。 (Microsoft.SqlServer.SmoExtended)

我意识到服务器的版本不同,我的问题是有没有办法将这些12.00.2000 *.bak文件转换为可在11.00.2100版本中使用?

我知道我可以安装ver。 11.00.2100并成功恢复,但我的12.00.2000安装中的数据库无法删除。

任何建议都将不胜感激。对不起,如果这是一个菜鸟问题。

1 个答案:

答案 0 :(得分:9)

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

您可以通过

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

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

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