SQL Server里如何查询历史SQL执行记录?

摘要:编程执行Sql语句难免忘记保存执行的文本,或是意外设备故障多种情况的发生。对于写的简单的Sql语句丢了就丢了,但对于自己写的复杂的丢失就有些慌了,有时候很难再次写出来,这时候就需要用一些方法找回Sql语句,下面的方法只适合MS SQLSer
编程执行Sql语句难免忘记保存执行的文本,或是意外设备故障多种情况的发生。对于写的简单的Sql语句丢了就丢了,但对于自己写的复杂的丢失就有些慌了,有时候很难再次写出来,这时候就需要用一些方法找回Sql语句,下面的方法只适合MS SQLServer: 1 SELECT TOP 1000 2     --创建时间 3     QS.creation_time, 4     --查询语句 5     SUBSTRING(ST.text,(QS.statement_start_offset/2)+1, 6     ((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) 7     ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1 8     ) AS statement_text, 9     --执行文本 10     ST.text, 11     --执行计划 12     QS.total_worker_time, 13     QS.last_worker_time, 14     QS.max_worker_time, 15     QS.min_worker_time 16     FROM 17     sys.dm_exec_query_stats QS 18     --关键字 19     CROSS APPLY 20     sys.dm_exec_sql_text(QS.sql_handle) ST 21     ORDER BY 22     QS.creation_time DESC 参考:http://blog.csdn.net/gulingeagle/article/details/50725160 http://blog.csdn.net/dingshuanglei/article/details/79460696