有时DBA需要检查当前服务器有多少连接请求,以及连接请求的登录名,客户端版本,主机名,程序名等等之类的信息,我们就可以对服务器的连接状况有所了解,防止不明用户使用。
SQL Server本身提供了这么一个DMV来返回这些信息,它就是sys.dm_exec_sessions 。
比如在我的机器上做一下查询:
SELECT * FROM sys.dm_exec_sessions WHERE host_name IS NOT NULL
如图:
我们也可以根据登录名来分组:
SELECT login_name ,COUNT(session_id) AS session_count
FROM sys.dm_exec_sessions
GROUP BY login_name;
FROM sys.dm_exec_sessions
GROUP BY login_name;
查询结果如图:
对于这张表的详细字段说明,请参考MSDNhttp://msdn.microsoft.com/en-us/library/ms176013.aspx