Получить номер открытой строки подключения в моем приложении - PullRequest
3 голосов
/ 20 декабря 2010

Я программирую приложение на C # и SQL Server 2008. Как узнать количество открытых соединений, которые еще не закрыты?

Также, если я открываю соединение с 20-минутным таймаутом и выполняюне закрыть его - будет ли он закрыт через 20 минут?

Ответы [ 2 ]

4 голосов
/ 20 декабря 2010

Это показывает количество соединений для каждой БД:

SELECT 
    DB_NAME(dbid) as DBName, 
    COUNT(dbid) as NumberOfConnections,
    loginame as LoginName
FROM
    sys.sysprocesses
WHERE 
    dbid > 0
GROUP BY 
    dbid, loginame

И это дает общее количество:

SELECT 
    COUNT(dbid) as TotalConnections
FROM
    sys.sysprocesses
WHERE 
    dbid > 0

Если вам нужно больше деталей, запустите:

sp_who2 'Active'
1 голос
/ 20 декабря 2010

Вы должны иметь возможность использовать счетчики PerfMon SQL Server для экземпляра SQL Server, чтобы отслеживать открытые соединения с сервером, внешним по отношению к вашему приложению ... в частности, поскольку ваше приложение (вероятно) абстрагировано от определенных подключений, определенно, если вы используетеПул подключений

Вот краткая статья о том, как кто-то демонстрирует проблему и отслеживает ее

...