yunfeifei

有的时候,需要知道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

 

分类:

技术点:

相关文章:

  • 2021-05-23
  • 2021-11-12
  • 2021-04-30
  • 2021-11-20
  • 2021-10-13
  • 2021-09-07
  • 2021-11-06
猜你喜欢
  • 2022-01-11
  • 2021-11-12
  • 2021-11-27
  • 2021-08-07
相关资源
相似解决方案