1

proc が実行された回数を特定しようとしています。

プラン ハンドルで検索すると、dm_exec_cached_plans にはレコードが見つかりますが、dm_exec_query_stats には見つかりません。私が見つけることができるすべてのドキュメントは、レコードが dm_exec_cached_plans にある場合、dm_exec_query_stats に常に対応するレコードが必要であることを示しています。

これが当てはまらないシナリオを知っている人はいますか?

4

2 に答える 2

1

どこでそれを読みましたか-レコードが dm_exec_cached_plans にある場合、常に対応するレコードが dm_exec_query_stats にあるはずです?
実際dm_exec_cached_plansには、プラン キャッシュにコンパイルされたすべてのプランdm_exec_query_statsのレコードがあり、対応するキャッシュされたプランのすべてのクエリ ステートメントのレコードを持つことができます。dm_exec_query_statsキャッシュ オブジェクト タイプが "Parse Tree" または "CLR Compiled Proc" のキャッシュ プラン、またはシステム ストアド プロシージャ、アドホック クエリ、プリペアド ステートメントなどのオブジェクトの場合は、空にすることができます。

于 2012-09-28T17:10:09.360 に答える
0

sys.dm_exec_procedure_stats の使用はどうですか?

http://msdn.microsoft.com/en-us/library/cc280701%28v=sql.100%29.aspxを参照してください。

于 2012-09-29T15:13:20.223 に答える