Une grande partie de ces éléments semble être en dehors de ce qui est directement accessible à partir de dmv. Je suis sûr que quelqu'un de plus informé que moi pourra vous apporter de meilleures réponses.
C'est aussi proche que 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
Cela regroupera vos connexions par connexion et à partir de chaque hôte et application. Cela vous donnera une idée de la façon dont vos connexions sont actuellement regroupées. Si vous connaissez votre montant maximum, vous pouvez en soustraire les connexions et cela pourrait vous donner le nombre de connexions restantes dans chaque pool.