DFo*_*k42 21 sql-server-2008 sql-server statistics
除了使用 SQL Server Profiler 之外,还有什么方法可以跟踪正在使用的存储过程,或者至少是上次执行它们的时间?
Tho*_*ger 19
您可以查看计划缓存以很好地了解存储过程的使用情况。以这个查询为例:
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
Run Code Online (Sandbox Code Playgroud)
这将为您提供usecounts与SomeDB.
注意:计划缓存包含执行计划。保留这些计划涉及许多因素。 虽然这将使您对正在使用的内容和使用频率有一个很好的了解,但它绝对不是存储过程的运行总数以及它们执行的频率/时间。
Sai*_*a M 10
您可以查看此内容以及它包含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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50629 次 |
| 最近记录: |