SQL Server 活动会话

Posted

技术标签:

【中文标题】SQL Server 活动会话【英文标题】:SQL Server Active Sessions 【发布时间】:2019-10-11 14:23:07 【问题描述】:

如何通过 SQL Server 中的数据库和对象详细信息获取活动会话详细信息?

【问题讨论】:

How do I see active SQL Server connections?的可能重复 【参考方案1】:

sys.dm_exec_sessions 视图报告 SQL Server 中所有经过身份验证的会话。 您可以使用以下查询;

SELECT * FROM sys.dm_exec_sessions

更详细的查询可以用这个;

SELECT s.session_id, s.login_time, s.host_name, s.program_name,
s.login_name, s.nt_user_name, s.is_user_process,
s.database_id, DB_NAME(s.database_id) AS [database], 
s.status,
s.reads, s.writes, s.logical_reads, s.row_count,
c.session_id, c.net_transport, c.protocol_type, 
c.client_net_address, c.client_tcp_port, 
c.num_writes AS DataPacketWrites 
FROM sys.dm_exec_sessions s
INNER JOIN sys.dm_exec_connections c
ON s.session_id = c.session_id 
INNER JOIN sys.dm_exec_requests r 
ON s.session_id = r.session_id

【讨论】:

以上是关于SQL Server 活动会话的主要内容,如果未能解决你的问题,请参考以下文章

sql server 阻塞查询

sql 为特定会话获取数据库上的会话活动

sql 列出活动会话

sql DMV的SQL查询以显示所有当前活动的会话

SQL Server 中 sp_who 状态的含义

sql 显示SQL Server会话运行代码