您的位置:首页 > 数据库

SqlServer 查询存储过程最后执行时间

2017-10-11 15:19 260 查看
因为各种原因数据库中存在大量无用的存储过程,想查询存储过程的最后执行情况,处理长期不使用的存储过程。

下列语句利用系统自带的视图数据表,查询存储过程的最后执行情况:

--查询数据库的信息
SELECT database_id,* FROM sys.databases WHERE database_id> 4

SELECT
a.name AS 存储过程名称,
a.create_date AS 创建日期,
a.modify_date AS 修改日期,
b.last_execution_time AS 最后执行日期,
b.execution_count AS 执行次数
FROM sys.procedures a
LEFT JOIN sys.dm_exec_procedure_stats b ON a.object_id = b.object_id AND b.database_id ='上面查询的数据库ID'
WHERE a.is_ms_shipped =0 --去掉系统存储过程
ORDER BY b.database_id




注意:数据库版本为2008,上述语句只能查询缓存内的存储过程的最后执行时间。

建议:如果要查询所有的存储过程的最后执行时间,最好开发相关的日志表来记录。

1、间隔查询 sys.dm_exec_procedure_stats 表的数据更新日志表。

2、在存储过程中添加语句,更新日志表。



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: