Как я могу узнать, сколько SQL-соединений у меня открыто в службе Windows? - PullRequest
6 голосов
/ 19 сентября 2008

Я вижу некоторые ошибки, которые указывают на «утечку соединения». То есть соединения, которые не были закрыты должным образом и пул заканчивается. Итак, как мне использовать это для точного определения количества открытых в данный момент времени?

Ответы [ 7 ]

6 голосов
/ 19 сентября 2008

Если вы используете .net, в PerfMon есть поставщик данных .net для SQL-сервера. Вы можете посмотреть NumberOfPooledConnections там

2 голосов
/ 19 сентября 2008

sp_who2 хранимая процедура в главной таблице хороша для этого со стороны базы данных. Он покажет вам соединения с базой данных. Если вам нужны дополнительные данные, попробуйте также выполнить профилирование.

1 голос
/ 19 сентября 2008

Реализация службы, через которую создаются, открываются и закрываются все соединения. Держите счетчик там. Регистрируйтесь с вашей структурой регистрации каждый раз, когда соединение открыто или закрыто.

0 голосов
/ 23 сентября 2008

Используйте оператор "using", чтобы убедиться, что ваши соединения всегда закрыты, и у вас больше никогда не возникнет этой проблемы:

using(SqlConnection connection = new SqlConnection())
{
...
} // connection is always disposed (i.e. closed) here, even if an exception is thrown
0 голосов
/ 19 сентября 2008

Вы можете запустить sp_who2 в SQL Server Management Studio или Query Analyzer, чтобы увидеть все ваши текущие соединения. Это SQL Server. Я не уверен, какую СУБД вы используете.

Кроме того, загляните в свой код и убедитесь, что вы закрываете соединение, как только оно вам больше не нужно. Будь анальным об этом!

0 голосов
/ 19 сентября 2008

Если вы используете SQL 2000, вы можете проверить в SQL 2000 Enterprise Manager:

Для просмотра окна «Текущая активность» в SQL Server Enterprise Manager, разверните группа серверов, а затем разверните сервер. Разверните Управление, а затем развернуть текущую активность. Нажмите Процесс Информация.

Текущая активность сервера отображается в области сведений.

(http://technet.microsoft.com/en-us/library/cc738560.aspx)

(из поиска Google: текущая активность sql 2000)

0 голосов
/ 19 сентября 2008

вы можете использовать инструмент профилирования для отслеживания всех существующих и открывающихся и закрывающихся соединений

Вы можете открыть профилировщик у менеджера предприятия

...