【问题标题】:Is it safe to do forward restore in SQL Server?在 SQL Server 中进行正向还原是否安全?
【发布时间】:2020-01-15 07:13:30
【问题描述】:

我已将一个 .bak 文件从我的 SQL Server 2008 R2 恢复到我的 2017 实例(两个 Developer 版本),它似乎工作正常。

它真的恢复了所有用户定义的对象吗?所有这些对象的工作方式是否与它们在 2008 R2 实例中的工作方式相同?

【问题讨论】:

  • 虽然 Microsoft 确实在为旧版本提供向后兼容性方面付出了巨大努力,但这否定了您必须使用新版本充分测试系统的义务。此外,您应该阅读您跳过的每个版本的“更改”文档以及您使用的版本以了解更改的内容。审查您的架构也是一个好主意,看看是否有您可以利用的功能以及删除已删除或已弃用功能的依赖关系。

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


【解决方案1】:

是的,SQL Server 2017 与在 SQL Server 2008R2 中创建的备份具有向前兼容性。 还原过程会还原所有用户和系统对象,然后将它们升级到当前版本。

重要提示:数据库仍将处于旧的兼容级别 - 100,对应于 SQL Server 2008R2。为了获得所有可用的新优化和功能,请考虑将您的数据库更改为最新的兼容级别。对于 SQL Server 2017,它是:140

ALTER DATABASE [DbName] SET COMPATIBILITY_LEVEL = 140; 

这还将启用自 2008R2 以来引入的查询优化器和 t-sql 增强功能。

然后更新统计数据

USE [DbName]
EXEC SP_UPDATESTATS

值得一提的是,兼容性更改是一种向后反转,而在 SQL Server 2017 中创建的备份在 2008R2 中无法恢复。

【讨论】:

    【解决方案2】:

    是的,它们将在 2008 R2 实例中正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-25
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      相关资源
      最近更新 更多