由于最近写了一条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