适用于:SQL Server 2016 (13.x) 及更高版本
Azure SQL 数据库
Azure SQL 托管实例
为查询存储中的特定查询启用以前强制计划。
语法
sp_query_store_unforce_plan
[ @query_id = ] query_id ,
[ @plan_id = ] plan_id ,
[ @replica_group_id = ] 'replica_group_id'
[ ; ]
参数
重要
扩展存储过程的参数必须按特定顺序输入,如 语法 节中所述。 如果参数按顺序输入,则会出现错误消息。
[ @query_id = ] query_id
查询的 ID。 @query_id为 bigint,没有默认值。
[ @plan_id = ] plan_id
不再强制执行的查询计划的 ID。 @plan_id 为 bigint,没有默认值。
[ @replica_group_id = ] 'replica_group_id'
启用 可读辅助副本的查询存储 时,可以取消对次要副本的计划。 在主副本上执行 sp_query_store_force_plan 和 sp_query_store_unforce_plan。 使用 @replica_group_id 参数默认为执行命令的本地副本,但可以指定引用sys.query_store_plan_forcing_locations系统目录视图的replica_group_id。
返回代码值
0(成功)或 1(失败)。
权限
ALTER需要对数据库具有权限。
示例
以下示例返回有关查询存储中的查询的信息。
SELECT txt.query_text_id,
txt.query_sql_text,
pl.plan_id,
qry.*
FROM sys.query_store_plan AS pl
INNER JOIN sys.query_store_query AS qry
ON pl.query_id = qry.query_id
INNER JOIN sys.query_store_query_text AS txt
ON qry.query_text_id = txt.query_text_id;
确定 要取消强制的query_id 和 plan_id 后,请使用以下示例取消强制计划。
EXECUTE sp_query_store_unforce_plan 3, 3;
相关内容
- sys.query_store_replicas (Transact-SQL)
- sys.query_store_plan_forcing_locations(Transact-SQL)
- sp_query_store_force_plan(Transact-SQL)
- sp_query_store_remove_plan(Transact-SQL)
- sp_query_store_remove_query(Transact-SQL)
- sp_query_store_reset_exec_stats(Transact-SQL)
- sp_query_store_flush_db(Transact-SQL)
- 查询存储目录视图 (Transact-SQL)
- 使用查询存储来监视性能
- Query Store 最佳实践