sql server查看当前正在执行的sql

#统计某类sql执行次数,并按总体cpu消耗时间降序排序

复制代码
with a as
(
select er.session_id,db_name(er.database_id) as DBNAME,sy.last_batch AS '最后执行时间',
er.cpu_time ,er.total_elapsed_time/1000 as sum_elapsed_time_s,
CAST(csql.text AS varchar(8000)) AS CallingSQL ,sy.cmd as cmd,sy.status as status,sy.lastwaittype,sy.loginame as loginame,sy.hostname as hostname,
client_net_address  as client_ip,local_net_address '服务器的IP',er.reads,er.writes,er.row_count,
'kill '+cast(er.session_id as varchar(200)) AS 'KILL-SQL'
from master.sys.dm_exec_requests er WITH (NOLOCK)
       CROSS APPLY fn_get_sql (er.sql_handle) csql
left join sysprocesses sy on er.session_id =sy.spid
left join sys.dm_exec_connections dec on dec.session_id=sy.spid
where er.session_id >50
-- AND er.session_id ='56'
and loginame <>'' and CAST(csql.text AS varchar(8000)) like '%%'
)
select DBNAME,a.CallingSQL,count(*) cnt,sum(cpu_time) as sum_cpu_time,sum(sum_elapsed_time_s) as sum_elapsed_time_s,avg(cpu_time) as avg_cpu_time,avg(sum_elapsed_time_s) as avg_elapsed_time_s,
max(cmd) as cmd,max(status) as status,max(loginame) as loginname,max(hostname) as hostname,max(client_ip) as client_ip
from a
where a.CallingSQL not like '%select er.session_id,db_name(er.database_id) as DBNAME%'
group by a.CallingSQL,a.DBNAME
order by sum_cpu_time desc

输出结果示例:

相关推荐
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G2 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备2 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远2 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
2601_962218612 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安2 天前
MySQL-触发器
数据库·mysql
白远山2 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro2 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
2603_965148112 天前
AI+API选品:下一代智能商务助手雏形已现
java·大数据·数据库·人工智能·数据挖掘