SELECT TOP 1000 --創建時間 QS.creation_time, --查詢語句 SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, ((CASE QS.statement_end_offset WHEN -1 THEN DATALEN ...
編程執行Sql語句難免忘記保存執行的文本,或是意外設備故障多種情況的發生。對於寫的簡單的Sql語句丟了就丟了,但對於自己寫的複雜的丟失就有些慌了,
有時候很難再次寫出來,這時候就需要用一些方法找回Sql語句,下麵的方法只適合MS SQLServer:
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
ORDER BY
QS.creation_time DESC
參考:http://blog.csdn.net/gulingeagle/article/details/50725160
http://blog.csdn.net/dingshuanglei/article/details/79460696