回答:
プランキャッシュを調べて、ストアドプロシージャの使用方法についてかなり良いアイデアを得ることができます。たとえば、次のクエリを使用します。
select
db_name(st.dbid) as database_name,
object_name(st.objectid) as name,
p.size_in_bytes / 1024 as size_in_kb,
p.usecounts,
st.text
from sys.dm_exec_cached_plans p
cross apply sys.dm_exec_sql_text(p.plan_handle) st
where p.objtype = 'proc'
and st.dbid = db_id('SomeDatabase')
order by p.usecounts desc
これusecounts
により、キャッシュされているストアドプロシージャが取得できSomeDB
ます。
注:プランキャッシュには実行プランが含まれています。これらの計画の保持には、多くの要因が関係しています。 これにより、何が使用されているか、どのくらいの頻度であるかがわかりますが、ストアドプロシージャの実行中の合計や、それらが実行された頻度/時間ではありません。
last_execution_time
すべてのストアドプロシージャの情報が含まれているだけでなく、これを見ることができます。
SELECT DB_NAME(database_id)
,OBJECT_NAME(object_id,database_id)
,cached_time
,last_execution_time
,execution_count
FROM sys.dm_exec_procedure_stats