由於最近寫了一條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