SQL进程死锁排查
2024-09-05 11:22:21
--进程执行状态
SELECT
der.[session_id],der.[blocking_session_id],
sp.lastwaittype,sp.hostname,sp.program_name,sp.loginame,
der.[start_time] AS '开始时间',
der.[status] AS '状态',
dest.[text] AS 'sql语句',
DB_NAME(der.[database_id]) AS '数据库名',
der.[wait_type] AS '等待资源类型',
der.[wait_time] AS '等待时间',
der.[wait_resource] AS '等待的资源',
der.[logical_reads] AS '逻辑读次数'
FROM sys.[dm_exec_requests] AS der
INNER JOIN master.dbo.sysprocesses AS sp ON der.session_id=sp.spid
CROSS APPLY sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id]>50 AND session_id<>@@SPID
ORDER BY der.[session_id]
GO --是否堵塞
SELECT spid,blocked,waittime,waittype,waitresource,p.dbid,cpu,physical_io,memusage,open_tran
,status,login_time,last_batch,hostname,program_name,hostprocess,loginame,cmd,text
FROM master.dbo.sysprocesses p CROSS APPLY sys.dm_exec_sql_text(p.sql_handle) s
WHERE blocked > 0 OR spid IN(SELECT blocked FROM master.dbo.sysprocesses WHERE blocked > 0)
go -- 是否有未提交进程
select spid,blocked,waittime,waittype,waitresource,p.dbid,cpu,physical_io,memusage,open_tran
,status,login_time,last_batch,hostname,program_name,hostprocess,loginame,cmd,text
from master.dbo.sysprocesses p cross apply sys.dm_exec_sql_text(p.sql_handle) s
where open_tran <> 0
go -- 在执行进程状态
SELECT DB_NAME(er.[database_id]) [DatabaseName]
,er.[command] AS [CommandType]
,CONVERT(DECIMAL(5, 2), er.[percent_complete]) AS [Complete_Percent]
,er.start_time
,CONVERT(DECIMAL(38, 2), er.[total_elapsed_time] / 60000.00) AS [ElapsedTime_m]
,CONVERT(DECIMAL(38, 2), er.[estimated_completion_time] / 60000.00) AS [EstimatedCompletionTime_m]
,CONVERT(DECIMAL(38, 2), (er.[total_elapsed_time] / 60000.00 * ((100-er.[percent_complete])/er.percent_complete))) AS [EstimatedCompletionTime_m2]
FROM sys.dm_exec_requests AS er
WHERE 1=1
and er.[percent_complete] >0
--and er.[command] in ('RESTORE DATABASE' ,'BACKUP DATABASE','BACKUP LOG','RESTORE LOG')
order by er.start_time desc
最新文章
- [Spring]IoC容器之进击的注解
- zookeeper 安装及一些问题
- mvc5 Html.EditorFor html属性有了新变化,和以前的不同了
- UART UVM验证平台平台搭建总结
- 2.Java对象创建
- PowerDesigner连接Oracle数据库建表序列号实现自动增长
- python递归函数下不能正常使用yield
- 宏定义&;CodeBlocks&;Glib
- linux修改文本模式下的分辨率(CentOS6.4)
- 如何插上U盘 自动复制内容
- celery的使用
- C++基础之引用与指针的区别与联系、常引用使用时应注意的问题
- Jquery的入门学习
- TP3.2 中使用 PHPMailer 发送邮件
- HEX文件合并方法
- 【openvpn】转载:烂泥:ubuntu 14.04搭建OpenVPN服务器
- 持续集成CI相关的几个概念
- Ajax的课外了解
- BZOJ4326或洛谷2680 运输计划
- 洛谷P4035 球形空间产生器 [JSOI2008] 高斯消元