1

私たちの SQL 2008 R2 サーバーの 1 つで、実行中のバッチ処理の数に関連して異常に高い割合のコンパイルを経験しています。とにかく、通常、サーバーはこれで少し高く実行されます (バッチ全体の約 25%) が、今日は 80% のようになっています。DMV を見ると、何がコンパイルされたかがわかりますが、それがいつ行われたかはわかりません。

このデータをプロファイラーでプルできることは知っていますが (現在もそうしています)、これが履歴に保存されている場所を見つけたいと思っていました。

誰かがこれを行う方法を見つけましたか、それともプロファイラーが唯一の方法ですか?

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 に答える