【问题标题】:SQL backup version is incompatible with this serverSQL 备份版本与此服务器不兼容
【发布时间】:2025-12-04 02:00:01
【问题描述】:

当我尝试将数据库备份恢复到客户 SQL Server 2008 时,我收到以下消息。

System.Data.SqlClient.SqlError:数据库已备份在服务器上 运行版本 10.50.1600。该版本与此不兼容 服务器,运行版本 10.00.4064。

我已经备份了数据库并在版本 10.50.1600 的服务器上恢复,然后一旦我完成我的开发工作,我就备份了它,但现在它不会在客户服务器 10.00.4064 上恢复。

我现在有什么选择?有没有办法恢复这个?我可以将数据导入或导出到客户服务器吗?

【问题讨论】:

  • 是的,看起来你有 R2,他们有 vanilla 2008。最简单的方法是编写脚本和你所做的更改,然后给他们;否则我认为您正在考虑编写整个数据库(和数据)的脚本,这可能需要几个小时!
  • 我今天早上还有几个小时。我可以从客户服务器恢复当前数据库,然后从新版本服务器导入数据?嗯,这可能有用吗?
  • 我假设您在某个时候复制了他们的数据,将其恢复到运行较新版本 (2008 R2) 的计算机上,现在您正尝试从新版本恢复备份机器回到他们的 2008 服务器。我想说的是,无论您需要对他们的数据做什么,您不能为它编写一个脚本并在他们的最后运行它吗?

标签: sql sql-server sql-server-2008 sql-server-2008-r2


【解决方案1】:

基本上您需要手动完成,并且无法恢复。因此,您需要执行以下操作:

  1. 选项 1:使用它工作的 SQL 管理工作室的开发版本编写整个数据库(表、视图、索引、过程、函数、数据...),您也可以使用 Aqua 数据工作室等其他一些工具来执行此操作等等。然后只需在客户端服务器上运行 sql 脚本,整个事情就会在那里重新创建
  2. 选项 2:在客户端服务器上设置一个 sql2008r2 无论如何免费的开发版,然后只需使用导出 GUI 将其传输到实际服务器

我更喜欢 Option1,因为在我看来它有点“干净”

【讨论】: