【发布时间】:2020-03-20 04:29:30
【问题描述】:
如何将高版本的SQL Server数据库备份文件恢复到低版本的SQL Server上?
使用 SQL Server 2008 R2 (10.50.1600),我制作了一个备份文件,现在我想在我的实时服务器的 SQL Server 2008 (10.00.1600) 上恢复它强>。
当我尝试将备份恢复到 SQL Server 2008 时,它给出了一个错误,即 Restore Failed,因为:
数据库备份在运行版本 10.50.1600 的服务器上。 该版本与正在运行的此服务器不兼容 10.00.1600.
如何恢复此服务器上的备份文件?
【问题讨论】:
-
你不能这样做——这是不可能的。 SQL Server 不允许将数据库从较高版本“降级”到较低版本。
-
Microsoft 了解有关 SQL Server 的一切(因为他们创建了它),但在 2 个版本之间移动数据是不可能的。我只是不明白为什么某种兼容模式在导出中不可用。有多难?
-
@dvdmn 就像他们所说的任何 Top Gear 剧集一样难——不同的类型、不同的陈述、不同的块布局。在数据库之间移动数据非常简单,无论涉及哪个版本。降级虽然不是。
-
@PanagiotisKanavos 我不同意,在 mysql 中,您可以将 db 导出为 sql 命令,并且可以在任何版本的 mysql(向下或向上)上恢复它。是的,您也可以将 sql db 导出为脚本,但如果您有一些相互依赖的存储函数/过程,则恢复它并不容易。基本没用/解决办法。
-
@dvdmn 导出数据库脚本完全与备份不同。我意识到有些产品不提供备份/恢复功能,或者更糟糕的是,混淆了这两个概念。这通常是由于历史原因而发生的:过去缺少备份,某些产品以该名称称为导出/脚本。现在他们这样做,他们必须通过谈论物理和逻辑备份来不断解决术语冲突,然后在谈论脚本时混淆
标签: sql-server