如何查找过去一年中存储过程的上次执行时间



我有一个存储过程,它不是经常运行。所以我想找到该存储过程的最后执行日期。

我使用了这个查询:

select distinct 
    s.last_execution_time
from 
    sys.dm_exec_query_stats s
cross apply 
    sys.dm_exec_query_plan (s.plan_handle) p
where 
    object_name(p.objectid, db_id('My_Db_Name')) = 'MY_Sp_Name' `

它不返回任何输出。那么,是否有其他方法可以检查存储过程在上个月运行的天气?

提前致谢

参考: https://msdn.microsoft.com/en-us/library/cc280701.aspx

sys.dm_exec_procedure_stats可能会让最后一次运行更长时间,但我不确定它何时清除。 试试这个,看看它是否显示你上次的执行:

SELECT  
   p.object_id
   ,d.database_id
   ,p.name
   ,d.cached_time
   ,d.last_execution_time
   ,d.total_elapsed_time
   ,d.total_elapsed_time/d.execution_count AS [avg_elapsed_time]
   ,d.last_elapsed_time
   ,isnull(d.execution_count, 0) as ExecCount
   ,p.create_date as CreateDate
   ,p.modify_date as ModifyDate
FROM 
   sys.procedures p 
left join 
   sys.dm_exec_procedure_stats AS d 
   on d.object_id = p.object_id
WHERE 
   is_ms_shipped = 0
ORDER BY 
   create_date asc;

最新更新