是否有可能找出上次訪問存儲過程的時間?存儲過程上次訪問時間?
我試過如下:
SELECT *
FROM sys.dm_db_index_usage_stats
WHERE [database_id] = DB_ID()
AND [object_id] = OBJECT_ID('stored procedure name')
,它返回一個空結果集。
是否有可能找出上次訪問存儲過程的時間?存儲過程上次訪問時間?
我試過如下:
SELECT *
FROM sys.dm_db_index_usage_stats
WHERE [database_id] = DB_ID()
AND [object_id] = OBJECT_ID('stored procedure name')
,它返回一個空結果集。
我相信這是可能應該存儲過程的仍然是在這一點上,你可以查詢sys.dm_exec_query_stats動態管理服務器上的程序緩存。
之後,你就是記錄和追蹤恐怕。
添加日誌條目的存儲過程的第一行:
insert into dbo.ProcLog (procname, date) values ('MyProc',getdate())
@Andomar,我會使用'OBJECT_NAME'(@@ PROCID)'而不是'MyProc',更容易維護。 – 2010-03-01 14:45:39
這是您可以在每個過程中放置的通用代碼行,它將包含正確的過程名稱,而無需對其進行硬編碼。
INSERT INTO YourLog
(RunDate,ProcedureName,...)
VALUES
(GETDATE(),OBJECT_NAME(@@PROCID),...)
感謝您的信息。當你最後一次執行SP時,你實際無法查看它是一件令人遺憾的事情。 :O( – 2010-03-01 13:40:28