sql-server - SQL Server 数据库恢复失败 - 版本冲突

标签 sql-server database

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

Restore of database 'ALA_PPD' failed.
(Microsoft.SqlServer.Management.RelationalEngineTasks)

ADDITIONAL INFORMATION:

System.Data.SqlClient.SqlError: The database was backed up on a server running version 12.00.2000. That version is incompatible with this server, which is running version 11.00.2100. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server. (Microsoft.SqlServer.SmoExtended)

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

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

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

最佳答案

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

你可以通过以下方式解决这个问题

  • 在所有机器上使用相同版本的 SQL Server - 然后您可以轻松地在实例之间备份/恢复数据库

  • 否则,您可以在 SQL Server Management Studio(任务 >生成脚本) 或使用第三方工具

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

关于sql-server - SQL Server 数据库恢复失败 - 版本冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33158069/

相关文章:

sql-server - SQL Server DISTINCT 和 GROUP BY 仍然返回重复项(子查询格式)

sql-server - SQL Server 数据仓库的 Web 前端

sql - 如果值大于 SQL 中的先前值,则选择记录

c# - 从 .NET 中的 DBPedia 大转储文件中提取内容

php - 有没有办法使用 ODBC 让用户能够将 MySQL 作为格式化的 excel 文件下载?

python - Django 使用外键添加到数据库,同时仍显示来自其他模型的信息

android - 实现自定义 ListView 的复选框

sql - 从插入语句sql中获取值

sql-server - 从 ssis 中的单行结果集中分配值在 SSIS 2012 中给出错误

javascript - 如何使用 javascript 在客户端将文本链接转换为 HTML 链接