server 查询执行过的语句

SQL查询SQL执行过的语句1000条语句

SELECT TOP 1000
ST.text AS ‘执行的SQL语句’,
QS.execution_count AS ‘执行次数’,
QS.total_elapsed_time AS ‘耗时’,
QS.total_logical_reads AS ‘逻辑读取次数’,
QS.total_logical_writes AS ‘逻辑写入次数’,
QS.total_physical_reads AS ‘物理读取次数’,
QS.creation_time AS ‘执行时间’ ,
QS.*
FROM sys.dm_exec_query_stats QS
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE QS.creation_time BETWEEN ‘2019-02-10 00:10:00’ AND ‘2019-02-15 20:15:00’
ORDER BY
QS.creation_time DESC

查询SQL中 CPU的

SELECT TOP 30000
total_worker_time/1000 AS [总消耗CPU 时间(ms)],
execution_count [运行次数],
qs.total_worker_time/qs.execution_count/1000 AS [平均消耗CPU 时间(ms)],
last_execution_time AS [最后一次执行时间],
min_worker_time /1000 AS [最小执行时间(ms)],
max_worker_time /1000 AS [最大执行时间(ms)],

SUBSTRING(qt.text,qs.statement_start_offset/2+1,
(CASE WHEN qs.statement_end_offset = -1
THEN DATALENGTH(qt.text)
ELSE qs.statement_end_offset END -qs.statement_start_offset)/2 + 1)
AS [使用CPU的语法], qt.text [完整语法],
qt.dbid, dbname=db_name(qt.dbid),
qt.objectid,object_name(qt.objectid,qt.dbid) ObjectName

FROM sys.dm_exec_query_stats qs WITH(nolock)
CROSS apply sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE execution_count>1 and qs.creation_time BETWEEN ‘2017-11-13 20:10:00’ AND ‘2017-11-13 20:15:00’
ORDER BY (qs.total_worker_time/qs.execution_count/1000) DESC
————————————————
版权声明:本文为qtrooo博主「GR_001」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:http://www.beiheib.com/xtcc/66.html

猜你喜欢

转载自www.cnblogs.com/jzzh001/p/12746593.html