USE master
GO
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT es.session_id, es.login_name, es.host_name, est.text
, cn.last_read, cn.last_write, es.program_name
FROM sys.dm_exec_sessions es
INNER JOIN sys.dm_tran_session_transactions st --系统里还存在的事务
ON es.session_id = st.session_id
INNER JOIN sys.dm_exec_connections cn
ON es.session_id = cn.session_id
CROSS APPLY sys.dm_exec_sql_text(cn.most_recent_sql_handle) est
LEFT OUTER JOIN sys.dm_exec_requests er
ON st.session_id = er.session_id
AND er.session_id IS NULL
本文介绍了一段SQL查询代码,用于从系统中获取所有未完成事务的详细信息,包括会话ID、登录名、主机名、程序名称、最后读取和写入的时间等。通过内连接和交叉应用子查询,有效地展示了如何在SQL Server中监测和诊断挂起的事务。
838

被折叠的 条评论
为什么被折叠?



