存储过程的最后访问时间?

时间:2010-03-01 13:28:14

标签: sql-server-2008 introspection

是否可以找出上次访问存储过程的时间?

我尝试了以下内容:

SELECT * 
FROM sys.dm_db_index_usage_stats 
WHERE [database_id] = DB_ID()  
    AND [object_id] = OBJECT_ID('stored procedure name')

并返回一个空白的结果集。

3 个答案:

答案 0 :(得分:3)

我相信如果sproc仍然在服务器上的过程缓存中,可以查询sys.dm_exec_query_stats,这是可能的。

之后,你很害怕记录和追踪。

答案 1 :(得分:2)

添加日志条目作为存储过程的第一行:

insert into dbo.ProcLog (procname, date) values ('MyProc',getdate())

答案 2 :(得分:1)

这是一个可以放在每个过程中的通用代码行,它将包含正确的过程名称,而不需要对其进行硬编码。

INSERT INTO YourLog 
        (RunDate,ProcedureName,...) 
    VALUES 
        (GETDATE(),OBJECT_NAME(@@PROCID),...)