1

在我们的一台 SQL 2008 R2 服务器上,我遇到了与批处理运行数量相关的异常高百分比的编译。通常服务器在这方面运行得有点高(大约占总批次的 25%),但今天它更像是 80%。查看 DMV 向我展示了已编译的内容,但没有告诉我何时发生。

我知道我可以使用分析器提取这些数据(现在正在这样做),但希望能找到存储在历史记录中的某个地方。

有没有人找到一种方法来做到这一点,或者 Profiler 是唯一的方法吗?

4

1 回答 1

1

当然,您可以creation_time使用sys.dm_exec_query_stats

SELECT * FROM sys.dm_exec_query_stats AS s
  INNER JOIN sys.dm_exec_cached_plans AS p
  ON s.plan_handle = p.plan_handle
  CROSS APPLY sys.dm_exec_sql_text(s.sql_handle)
  ORDER BY creation_time DESC;
于 2013-04-16T18:03:39.600 回答