【脚本】SQLserver中查看执行过的SQL(默认只能查询5天之内的)

 

 

DB:server2008R2

SQLserver中查看执行过的SQL语句脚本(默认只能查询5天之内的

 

SELECT TOP 1000
--创建时间
QS.creation_time,
--查询语句
SUBSTRING(ST.text,
(QS.statement_start_offset / 2) + 1,
((CASE QS.statement_end_offset
WHEN -1 THEN
DATALENGTH(st.text)
ELSE
QS.statement_end_offset
END - QS.statement_start_offset) / 2) + 1) AS statement_text,
--执行文本
ST.text,
--执行计划
QS.total_worker_time,
QS.last_worker_time,
QS.max_worker_time,
QS.min_worker_time
FROM sys.dm_exec_query_stats QS
--关键字
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE QS.creation_time BETWEEN '2017-02-03 09:00:00' AND
'2017-02-09 11:00:00'
--AND ST.text LIKE '%%'
ORDER BY QS.creation_time DESC;

 

此外,单独查询sys.dm_exec_sql_text这个视图,会提示:无此视图!

官方文档使用手册说明:

https://msdn.microsoft.com/zh-cn/library/ms181929.aspx

(此文档后还提供两个SQL脚本)

 

posted @ 2017-02-20 15:37  秋秋哒  阅读(2730)  评论(0编辑  收藏  举报