Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 存储过程上次访问时间?_Sql Server 2008_Introspection - Fatal编程技术网

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',更易于维护。