数据库查询历史执行过的sql语句

Posted 木色小罗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库查询历史执行过的sql语句相关的知识,希望对你有一定的参考价值。

平常的调试过程中可能想查询以前执行过的语句。以下为sqlserver2008中查询历史执行语句。

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-1-03 09:00:00 AND 2017-12-03 11:00:00 
--AND ST.text LIKE ‘%%‘ 
ORDER BY 
QS.creation_time DESC


SELECT TOP 1000 
--创建时间 
QS.creation_time, 
--执行文本 
ST.text
FROM 
sys.dm_exec_query_stats QS 
--关键字 
CROSS APPLY 
sys.dm_exec_sql_text(QS.sql_handle) ST 
WHERE 
QS.creation_time BETWEEN 2017-1-03 09:00:00 AND 2017-12-03 11:00:00 
AND ST.text NOT LIKE %SELECT * FROM T_LOCATIONINFO WHERE STRCLIPLOGICID in(% 
ORDER BY 
QS.creation_time DESC

 

以上是关于数据库查询历史执行过的sql语句的主要内容,如果未能解决你的问题,请参考以下文章

oracle 中怎样查看以前执行过的SQL语句?

如何查询历史sql

查询SQLSERVER执行过的SQL记录(历史查询记录)(转)

oracle执行历史查不到执行sql

如何查看SqlServer查询语句的执行效率

如何查看SQL Server2000执行过的SQL语句