Tak wiele z tych rzeczy wydaje się być poza tym, co jest bezpośrednio dostępne z dmv. Jestem pewien, że ktoś bardziej poinformowany niż ja może uzyskać lepsze odpowiedzi.
To jest tak blisko, jak tylko mogłem.
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
Spowoduje to agregację połączeń według loginu oraz z każdego hosta i aplikacji. To da ci wyobrażenie o tym, w jaki sposób twoje połączenia są obecnie gromadzone. Jeśli znasz swoją maksymalną kwotę, możesz od niej odjąć połączenia, co może dać ci liczbę połączeń pozostałych w każdej puli.