sp_blitzcache 不为长时间运行的查询返回执行计划

1 sql-server

没有执行计划仅在 DMV sys.dm_exec_query_plan 的 query_plan 列中返回空值。关于为什么的任何线索?我使用 sp_blitzcache 'reads' 和 'duration' 来显示长时间运行的查询,但没有执行计划返回。

Bre*_*zar 5

以下是查询不会出现在 sp_BlitzCache 使用的 DMV sys.dm_exec_query_plan 中的几个原因:

  • 查询是加密的(如加密的存储过程或函数)
  • 服务器开启了 Optimize for Ad Hoc,查询只执行一次
  • 服务器处于内存压力下,正在从缓存中删除计划
  • 该计划有超过 128 级嵌套元素,因此 sys.dm_exec_query_plan 无法显示它(但如果您想要文本版本,您仍然可以通过 sys.dm_exec_text_query_plan 获取它)