2010-03-01 93 views
1

是否有可能找出上次訪問存儲過程的時間?存儲過程上次訪問時間?

我試過如下:

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

,它返回一個空結果集。

回答

3

我相信這是可能應該存儲過程的仍然是在這一點上,你可以查詢sys.dm_exec_query_stats動態管理服務器上的程序緩存。

之後,你就是記錄和追蹤恐怕。

+0

感謝您的信息。當你最後一次執行SP時,你實際無法查看它是一件令人遺憾的事情。 :O( – 2010-03-01 13:40:28

2

添加日誌條目的存儲過程的第一行:

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

@Andomar,我會使用'OBJECT_NAME'(@@ PROCID)'而不是'MyProc',更容易維護。 – 2010-03-01 14:45:39

1

這是您可以在每個過程中放置​​的通用代碼行,它將包含正確的過程名稱,而無需對其進行硬編碼。

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