Sql Server查询最近执行sql

  由于最近写了一条sql没有保存想重新写又挺麻烦的,于是想Sql Server能不能像PL Sql一样Ctrl+E就调出了最近在本地执行的sql,结果是不行的。

  不过在网上找到了用sql语句查询最近数据库执行的sql 也能一用,记得大致日期与sql中用到的表很容易就找出来之前写的sql。

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   1=1   
--and QS.creation_time BETWEEN '2020-02-23 00:00:00' AND '2020-02-28 00:00:00' AND ST.text LIKE '%system_role_type%'
ORDER BY QS.creation_time DESC

  代码来源:https://www.cnblogs.com/icycore/p/10493237.html

posted @ 2020-03-03 14:36  binzi-6  阅读(1589)  评论(0编辑  收藏  举报