查詢SQLSERVER執行過的SQL記錄


有的時候,需要知道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 
WHERE 
QS.creation_time BETWEEN '2012-12-03 09:00:00' AND '2012-12-03 11:00:00' 
--AND ST.text LIKE '%%' 
ORDER BY 
QS.creation_time DESC


SELECT TOP 1000 
--創建時間 
QS.creation_time, 
--執行文本 
ST.text
FROM 
sys.dm_exec_query_stats QS 
--關鍵字 
CROSS APPLY 
sys.dm_exec_sql_text(QS.sql_handle) ST 
WHERE 
QS.creation_time BETWEEN '2012-12-03 09:00:00' AND '2012-12-03 11:00:00' 
AND ST.text NOT LIKE '%SELECT * FROM T_LOCATIONINFO WHERE STRCLIPLOGICID in(%' 
ORDER BY 
QS.creation_time DESC

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM