【问题标题】:SQL Server 2019 :: does features apply to previous compatibility level?SQL Server 2019 :: 功能是否适用于以前的兼容性级别?
【发布时间】:2020-09-30 11:39:15
【问题描述】:

我手头有一个 SQL Server 2019 实例,但其中的所有数据库都设置为兼容级别 110 (SQL Server 2012)。

我想用选项重建一些索引:

ALTER INDEX ALL ON [MyIndexName] 
REBUILD WITH(FILLFACTOR = 80, 
                ONLINE = ON, 
                SORT_IN_TEMPDB = ON
                RESUMABLE = ON,
                OPTIMIZE_FOR_SEQUENTIAL_KEY = ON);

我的问题是,RESUMABLE = ONOPTIMIZE_FOR_SEQUENTIAL_KEY = ON 是从 SQL Server 2019 引入的功能,即使它们仍处于兼容级别 110,它们是否也适用于我的数据库?

【问题讨论】:

  • 有些功能有,有些没有(大部分没有)。您找出最简单的方法是运行该语句,但我很确定它不会起作用。 (旁注RESUMABLE 是在 2017 年而不是 2019 年添加的)。
  • 这些功能通常是这样的(它是相同的引擎和相同的数据库文件格式),但是否接受 语法 是一个废话。有时,您可以通过在 master 中运行带有 sp_ 前缀的过程中的语句来解决此问题(不过,这是一个不受支持的 hack)。
  • 谢谢你们,我不敢相信微软不清楚这一点:¦
  • 这是因为该功能主要用于未进行持续开发的数据库。 Microsoft recommend:“对于新的开发工作,或者当现有应用程序需要使用新功能时,例如......计划将数据库兼容性级别升级到最新可用。”
  • 那么您应该首先在您的开发和/或其他测试环境中完成这些测试,然后担心新功能的实现之后 @FrancescoMantovani。更新到新版本时,您需要确保在考虑新功能之前先维护现有功能。

标签: sql-server tsql indexing sql-server-2019 compatibility-level


【解决方案1】:

回复是:我们无法判断。

我还在帖子中询问了Randolph West,回复是:“某些功能适用于实例级别,而有些功能仅适用于正确兼容级别的数据库。针对顺序键的优化是 150-级别特征。"

所以我们只需要按照上面 cmets 的建议在测试环境中进行尝试。

【讨论】:

    猜你喜欢
    • 2020-06-02
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多