使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

摘要

此更新引入了一个新的查询提示参数,使用提示,可让你无需提升的凭据即可驱动查询优化器,或者不是 sysadmin 服务器角色的成员。 此新查询提示的语法类似于以下内容:

<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}

此更新还引入了可与 使用提示 参数一起使用的以下提示选项。

等效的跟踪标志

说明

适用于

ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS

TF 9476

使 SQL Server 在查询优化程序下使用简单的包容假设(而不是联接的默认基本包容假设)生成查询计划 SQL Server 2014 (12v)或更高版本的基数估计模型。

ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES

TF 4137

使 SQL Server 在估计和谓词以进行关联时使用最小选择性生成计划。此提示名称将平行于 跟踪标记4137 与 Sql server 2012 (11 x)和早期版本的基数估计模型一起使用时,当跟踪标记9471 与 sql server 2014 (a.x)或更高版本的基数估计模型一起使用时,它具有类似的效果。

DISABLE_BATCH_MODE_ADAPTIVE_JOINS

禁用批处理模式自适应联接。

在 SQL Server 2017 中启动

DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK

禁用批处理模式内存授予反馈。

在 SQL Server 2017 中启动

DISABLE_DEFERRED_COMPILATION_TV

禁用表变量延迟编译。

在 SQL Server 2019 中启动

DISABLE_INTERLEAVED_EXECUTION_TVF

禁用多语句表值函数的交错执行。

在 SQL Server 2017 中启动

DISABLE_OPTIMIZED_NESTED_LOOP

TF 2340

当生成查询计划时,指示查询处理器不要对优化的嵌套循环联接使用排序操作(批处理排序)。

DISABLE_OPTIMIZER_ROWGOAL

TF 4138

使 SQL Server 生成一个计划,该计划不会对包含以下关键字的查询使用行目标修改:

  • 返回页首

  • 选项(FAST N)

  • 登录

  • 现有

DISABLE_PARAMETER_SNIFFING

TF 4136

指示查询优化器在编译带有一个或多个参数的查询时使用平均数据分布。此指令使查询计划独立于编译查询时首次使用的参数值。使用此提示替代数据库范围的配置 设置 PARAMETER_SNIFFING = OFF.

DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK

禁用行模式内存授予反馈。

在 SQL Server 2019 中启动

DISABLE_TSQL_SCALAR_UDF_INLINING

禁用标量 UDF 内联。

在 SQL Server 2019 中启动

DISALLOW_BATCH_MODE

禁用批处理模式执行。

在 SQL Server 2019 中启动

ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS

TF 4139

为需要基数估计的任何前导索引列启用自动生成的快速统计(直方图修正)。 用于评估基数的直方图将在查询编译时进行调整,以考虑此列的实际最大值或最小值。

ENABLE_QUERY_OPTIMIZER_HOTFIXES

TF 4199

启用查询优化程序修补程序(SQL Server 累积更新和服务包中发布的更改)。 使用此提示替代 数据库范围配置 设置 QUERY_OPTIMIZER_HOTFIXES = 启用.

FORCE_DEFAULT_CARDINALITY_ESTIMATION

TF 9481

强制查询优化器使用 与当前数据库兼容级别相对应的基数估计模型。使用此提示替代数据库范围配置 设置 LEGACY_CARDINALITY_ESTIMATION = ON。

FORCE_LEGACY_CARDINALITY_ESTIMATION

TF 9481

强制查询优化器使用 SQL Server 2012 (11 x)和早期版本的基数估计模型。使用此提示替代数据库范围配置设置 LEGACY_CARDINALITY_ESTIMATION = ON.

QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n

在查询级别强制查询优化程序行为。这种情况的发生方式与查询是用数据库兼容级别编译的一样 n,其中n是受支持的数据库兼容级别。请参阅sys.dm_exec_valid_use_hints ,获取 n 的当前支持值的列表n

在 SQL Server 2017 (CU10)中启动

有关详细信息,请参阅 提示(Transact-sql)-Query

更多信息

此更新包含在 SQL Server 2016 的 Service Pack 1 中。

 

SQL Server 2016 的每个新版本都包含上一版本中包含的所有修补程序和所有安全修补程序。 我们建议你安装 SQL Server 2016 的最新版本

在以下情况下,SQL Server 查询优化程序(QO)行为必须是非常常见的,并且传统情况下,它们通过使用多个(有记录的和未记录的)跟踪标记来解决。 但是,当跟踪标志全局设置时,它们可能会对其他工作负荷产生负面影响。 此外,为每个会话启用它们对于现有应用程序并不可行,并且在每个查询中启用选项 QUERYTRACEON需要 sysadmin 固定服务器角色的成员身份。 (虽然你可以使用计划指南或存储过程来解决此问题,但仍需要提升的凭据。)跟踪标记用于临时设置特定的服务器特征或切换特定的行为,它们可能很难管理和理解。有关跟踪标志的信息,请参阅 Microsoft 开发人员网络(MSDN)网站上的跟踪标记(transact-sql) 主题。

参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×