A significant part of this material is apparently outside of what is directly available from dmv. I am sure that someone more informed than me can get you better answers.
It is as close as possible.
SELECT des.program_name , des.login_name , des.host_name , COUNT(des.session_id) [Connections] FROM sys.dm_exec_sessions des INNER JOIN sys.dm_exec_connections DEC ON des.session_id = DEC.session_id WHERE des.is_user_process = 1 AND des.status != 'running' GROUP BY des.program_name , des.login_name , des.host_name HAVING COUNT(des.session_id) > 2 ORDER BY COUNT(des.session_id) DESC
This will lead to the union of your connections by login and from each host and application. This will give you an idea of ββhow your connections are being combined. If you know your maximum amount per hand, you can subtract the compounds from it, and this can give you the number of connections left in each pool.
source share