sql-server - 由于 SQL Server 版本不同,无法使用 .bak 文件恢复数据库

标签 sql-server restore

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

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

我尝试使用 SP1 和 SP2 包升级我的 SQL Server,但没有任何改变。

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

谁能帮我吗?

提前致谢

最佳答案

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

您可以通过以下方式解决此问题

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

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

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

关于sql-server - 由于 SQL Server 版本不同,无法使用 .bak 文件恢复数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21385088/

相关文章:

sql-server - 如何连接 cosmos 和 sql 数据库中的数据?

cocoa - RestoreStateWithCoder 未在 NSView 中触发

sql-server - SMO ConnectionContext.StatementTimeout 设置被忽略

node.js - 提交的 Sequelize 事务的结果是 "undefined"

ios - 购买/恢复应用内购买单按钮。 (检查是否以前购买)

Tensorflow:成功恢复检查点后损失重置

linux - 如何恢复在线服务的文件系统快照?

sql-server - SQL Server 2014 恢复.bak 文件

sql-server - SQL Server 内连接

sql-server - 如何检索在Delphi ADO中插入时生成的uniqueidentifier的值?