sql server的阻塞查询,主要来自sysprocesses。通常我们在处理时需要加入其它相关的视图或表如dm_exec_connections,dm_exec_sql_text。通过几个语句的查询,可以找到阻塞的语句。
查询阻塞
语句一
select bl.spid blocking_session,bl.blocked blocked_session,st.text blockedtext from (SELECT spid ,blocked
FROM (SELECT * FROM sys.sysprocesses WHERE blocked>0 ) a
WHERE not exists(SELECT *
FROM (SELECT *
FROM sys.sysprocesses
WHERE blocked>0 ) b
WHERE a.blocked=spid)
union SELECT spid,blocked
FROM sys.sysprocesses
WHERE blocked>0) bl,(SELECT t.text ,c.session_id
FROM sys.dm_exec_connections c
CROSS APPLY sys.dm_exec_sql_text (c.most_recent_sql_handle) t) st
where bl.blocked = st.session_id
语句二
SELECT a.blocking_session_id, a.wait_duration_ms, a.session_id,b.text
FROM sys.dm_os_waiting_tasks a,
(SELECT t.text ,c.session_id
FROM sys.dm_exec_connections c
CROSS APPLY sys.dm_exec_sql_text (c.most_recent_sql_handle) t) b
WHERE a.session_id = b.session_id and a.blocking_session_id IS NOT NULL
语句三,包含阻塞与被阻塞的sql脚本
select bl.spid blocking_session,bl.blocked blocked_session,st.text blockedtext,sb.text blockingtext
from
(SELECT spid ,blocked
FROM (SELECT * FROM sys.sysprocesses WHERE blocked>0 ) a
WHERE not exists(SELECT *
FROM (SELECT *
FROM sys.sysprocesses
WHERE blocked>0 ) b
WHERE a.blocked=spid)
union
SELECT spid,blocked
FROM sys.sysprocesses
WHERE blocked>0) bl,
(SELECT t.text ,c.session_id
FROM sys.dm_exec_connections c
CROSS APPLY sys.dm_exec_sql_text (c.most_recent_sql_handle) t) st,
(SELECT t.text ,c.session_id
FROM sys.dm_exec_connections c
CROSS APPLY sys.dm_exec_sql_text (c.most_recent_sql_handle) t) sb
where bl.blocked = st.session_id and bl.spid = sb.session_id
查询死锁
select *
from master..SysProcesses
where db_Name(dbID) = '数据库名'
and spId <> @@SpId
and dbID <> 0
and blocked >0;
sql server阻塞查询语句
来源:这里教程网
时间:2026-03-02 11:03:52
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- SQL Server 2008性能故障排查(一)——概论
SQL Server 2008性能故障排查(一)——概论
26-03-02 - sqlserver2008 事务日志文件(.LDF)丢失风险实验
sqlserver2008 事务日志文件(.LDF)丢失风险实验
26-03-02 - 电脑通用串行接口USB接口标准和传输数率,如何才能提高传输速率
电脑通用串行接口USB接口标准和传输数率,如何才能提高传输速率
26-03-02 - 最全电脑主板接口充电基础教程
最全电脑主板接口充电基础教程
26-03-02 - ArcView Spacial Analyst v2.0 1CD
ArcView Spacial Analyst v2.0 1CD
26-03-02 - 关于SQLServer 时间格式化
关于SQLServer 时间格式化
26-03-02 - Transact-SQL 参考_sql_replqueuemonitor
Transact-SQL 参考_sql_replqueuemonitor
26-03-02 - 给台式机电脑插上一个USB无线网卡,上网变得很简单了
给台式机电脑插上一个USB无线网卡,上网变得很简单了
26-03-02 - SQL Server 2008性能故障排查(二)——CPU
SQL Server 2008性能故障排查(二)——CPU
26-03-02 - 使用 FOR XML PATH 、CTE、PIVOT 產生動態欄位統計表
使用 FOR XML PATH 、CTE、PIVOT 產生動態欄位統計表
26-03-02
