如果它们当前正在运行查询,我正在尝试获取具有登录名、状态和 SQL 查询的所有会话的列表。下面的查询工作正常,但只显示当前正在运行查询的人。
即使会话处于睡眠状态,如何将它们全部显示出来?我想我必须改变加入的类型,但我不确定是哪一种。
SELECT c.session_id,
s.login_name,
s.status AS SessionStatus,
r.status AS RequestStatus,
st.text
FROM sys.dm_exec_connections c
INNER JOIN sys.dm_exec_sessions s
ON c.session_id = s.session_id
LEFT JOIN sys.dm_exec_requests r
ON c.session_id = r.session_id
CROSS APPLY
sys.dm_exec_sql_text(r.sql_handle) AS st