SqlServer查询最近执行的语句

时间:2022-12-09 04:30:32
 
--因为发现hibernate的show_sql无法输出所有语句,因此在sqlserver下查询最近使用的语句
SELECT TOP 5 total_worker_time/execution_count AS [Avg CPU 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
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
ORDER BY total_worker_time/execution_count DESC;


使用以上语句注意两点条件:

1. 要在master数据库下执行

2. 外围应用配置器里面的CLR 要开启