SEa*_*986 3 sql-server execution-plan query-store sql-server-2019
我在查询存储中强制执行了一个计划,如下所示
EXEC sys.sp_query_store_force_plan @query_id = 113366, @plan_id = 3687662
但是当我再次运行查询时,查询不使用该计划,也不显示failure_force_reason
以下查询显示该计划已被强制,并表明上次运行时强制没有失败
SELECT plan_id,
query_id,
is_forced_plan,
last_force_failure_reason_desc
FROM sys.query_store_plan
WHERE is_forced_plan = 1
Run Code Online (Sandbox Code Playgroud)
以下查询显示了相关查询的最后一次运行时间,这向我证实,我确实重新运行了这个查询,并且它使用了与我强制执行的计划不同的计划:
SELECT TOP 1
q.query_id,
p.plan_id,
s.last_execution_time,
SYSDATETIMEOFFSET() AS CurrentTime
FROM sys.query_store_query q
JOIN sys.query_store_plan p
ON q.query_id = p.query_id
JOIN sys.query_store_runtime_stats s
ON s.plan_id = p.plan_id
WHERE q.query_id = 113366
ORDER BY s.last_execution_time DESC
Run Code Online (Sandbox Code Playgroud)
为什么查询存储似乎忽略了这个计划的力量?我可以利用任何扩展事件或其他故障排除工具来了解吗?
归档时间: |
|
查看次数: |
385 次 |
最近记录: |