可以备份 SQL Server 2012 DB 并在 2008 上恢复吗?

可以备份 SQL Server 2012 DB 并在 2008 上恢复吗?

我想备份 SQL 2012 并在 2008 上恢复,可以吗?

在此处输入图片描述

我有这些选项,但无法在 DB 上更改。谢谢

答案1

不,不可能。兼容级别讨论的是 SQL 的行为方式,而不是数据库内部格式。

我建议你开始标准化你的服务器。这个要求指向一些极具争议的决定——要么运行过时的备用机器,要么在没有规划的情况下升级生产机器。

答案2

SQL Server 不允许降级到旧版本

您可以在 2012 实例中使用任务->导出向导,创建一个空数据库,并在 2008 实例中使用导入向导,但这可能不是理想的解决方案,因为导出/导入向导不会恢复所有对象(它将复制表但不复制索引、键等)

有关更多可能的选项和解释,您可以参考本文: 为什么无法将数据库还原到 SQL Server 的旧版本?

文章中建议的选项是:

-将旧版本的 SQL Server 升级到与新版本的 SQL Server 处于同一级别。

- 从较新的数据库中编写出对象脚本,然后使用 bcp 过程从较新的数据库中提取数据并将其导入较旧的数据库。

-使用 SQL Server 导入和导出向导构建 SSIS 包来移动数据(它将仅移动数据)。

- 构建自定义 SSIS 包来执行数据移动。

-使用复制将数据从新数据库移动到旧数据库。

-使用其他形式的脚本(例如 PowerShell)来保持数据库同步。

另一种选择是使用第三方工具,ApexSQL 差异ApexSQL 数据差异

您可以在本文中阅读该过程的详细解释:将 SQL Server 数据库备份还原到旧版本的 SQL Server

其他第三方工具也可能有帮助

希望这可以帮助

免责声明:我是 ApexSQL 的支持工程师

相关内容