SQLSERVER 执行过的语句查询

Posted 【麦麦提敏】

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSERVER 执行过的语句查询相关的知识,希望对你有一定的参考价值。


 

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

 

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 2015-08-01 00:00:00 AND 2015-09-02 11:00:00 
ORDER BY
     QS.total_elapsed_time DESC 

 

以上是关于SQLSERVER 执行过的语句查询的主要内容,如果未能解决你的问题,请参考以下文章

如何查看SQL Server2000执行过的SQL语句

查询SQLSERVER执行过的SQL记录

查询SQLSERVER执行过的SQL记录(历史查询记录)(转)

数据库查询历史执行过的sql语句

db2 怎样查一个sql连接执行过的所有语句?

如何查看sqlserver执行计划来判断SQL语句效率