sys.query_store_query_hints (Transact-SQL)

适用于:SQL Server 2022 (16.x) Azure SQL 数据库 Azure SQL 托管实例

查询存储提示返回查询提示。

列名称 数据类型 说明
query_hint_id bigint 查询提示的唯一标识符。
query_id bigint 查询存储中查询的唯一标识符。 sys.query_store_query中列的query_id外键。
query_hint_text nvarchar(max) 提示定义的形式 N'OPTION (...)
last_query_hint_failure_reason int 应用提示失败时返回的错误代码。 message_id包括错误消息。
last_query_hint_failure_reason_desc nvarchar(128) 包括错误消息的错误说明。
query_hint_failure_count bigint 查询提示应用程序自创建或上次修改查询提示以来失败的次数。
source int 查询存储提示的源:用户源为零,系统生成为非零。
source_desc nvarchar(128) 查询存储提示源的说明。
comment nvarchar(max) 仅供内部使用。
query_hint_scope tinyint 根据sys.query_store_replicas中的列确定应用提示replica_group_id的范围。

注解

sys.sp_query_store_set_hints创建查询存储提示,sys.sp_query_store_clear_hints将其删除。

权限

SQL Server 2019 (15.x) 和以前的版本需要 VIEW SERVER STATE 对服务器具有权限。

SQL Server 2022 (16.x) 及更高版本需要 VIEW SERVER PERFORMANCE STATE 对服务器具有权限。

示例

查看查询存储提示

以下示例返回 query_id 39 的现有查询存储提示:

SELECT query_hint_id,
       query_id,
       query_hint_text,
       last_query_hint_failure_reason,
       last_query_hint_failure_reason_desc,
       query_hint_failure_count,
       source,
       source_desc
FROM sys.query_store_query_hints
WHERE query_id = 39;