Sql server 2008 存储过程上次访问时间?
是否可以确定存储过程上次访问的时间 我尝试了以下方法:Sql server 2008 存储过程上次访问时间?,sql-server-2008,introspection,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') 然后返回一个空白的结果集。添加一个日志条目作为存储过程的第一行: insert into dbo.ProcLog (procname, date) values ('MyPro
SELECT *
FROM sys.dm_db_index_usage_stats
WHERE [database_id] = DB_ID()
AND [object_id] = OBJECT_ID('stored procedure name')
然后返回一个空白的结果集。添加一个日志条目作为存储过程的第一行:
insert into dbo.ProcLog (procname, date) values ('MyProc',getdate())
添加日志条目作为存储过程的第一行:
insert into dbo.ProcLog (procname, date) values ('MyProc',getdate())
我相信,如果存储过程仍在服务器上的过程缓存中,您就可以查询sys.dm_exec_query_stats,那么这是可能的
在这之后,恐怕就要进行日志记录和跟踪了。我相信如果存储过程仍在服务器上的过程缓存中,您就可以查询sys.dm\u exec\u query\u stats,那么这是可能的
在这之后,恐怕您就要开始记录和跟踪了。这里有一行通用代码,您可以在每个过程中放置,它将包括正确的过程名称,而无需硬编码
INSERT INTO YourLog
(RunDate,ProcedureName,...)
VALUES
(GETDATE(),OBJECT_NAME(@@PROCID),...)
下面是一行通用代码,您可以将其放入每个过程中,它将包括正确的过程名称,而无需硬编码
INSERT INTO YourLog
(RunDate,ProcedureName,...)
VALUES
(GETDATE(),OBJECT_NAME(@@PROCID),...)
谢谢你提供的信息。遗憾的是,您无法实际查看上次执行SP的时间:oThanks需要信息。遗憾的是,您无法实际查看上次执行SP的时间:o@Andomar,我会使用OBJECT_NAME@@PROCID而不是'MyProc',更易于维护。@Andomar,我会使用OBJECT_NAME@@PROCID而不是'MyProc',更易于维护。