SQL Server Profiler kullanmanın yanı sıra, hangi saklı yordamların kullanıldığını izlemenin herhangi bir yolu var mı, yoksa en azından son yürütüldüğünde?
SQL Server Profiler kullanmanın yanı sıra, hangi saklı yordamların kullanıldığını izlemenin herhangi bir yolu var mı, yoksa en azından son yürütüldüğünde?
Yanıtlar:
Saklı Yordam kullanımı hakkında oldukça iyi bir fikir edinmek için plan önbelleğine bakabilirsiniz. Bu sorguyu ele alalım, örneğin:
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
Bu size usecounts
önbelleğe alınan saklı yordamları verecektir SomeDB
.
Not: Plan önbelleği yürütme planlarını içerir. Bu planların bu şekilde muhafaza edilmesinin birçok faktör vardır. Bu ne kullanıldığına ve ne sıklıkta kullanıldığına dair iyi bir fikir verirken, kesinlikle saklı prosedürlerin toplamı ve ne sıklıkta / ne zaman yürütüldüğü kesinlikle değildir.
last_execution_time
Her saklı yordam hakkında bilgi içerir yanı sıra, bu bir göz atabilirsiniz .
SELECT DB_NAME(database_id)
,OBJECT_NAME(object_id,database_id)
,cached_time
,last_execution_time
,execution_count
FROM sys.dm_exec_procedure_stats