Пул соединений не работает в .Net SQL Server 2008 - PullRequest
0 голосов
/ 08 января 2009

Я тестирую свое приложение в надежде перейти на SQL Server 2008 (с 200). В профилировщике SQL Server я вижу

    Audit Login
    SQL:BatchStarting             SELECT .....
    SQL:BatchCompleted            SELECT .....
    Audit Logout

за каждый выполняемый запрос. Из того, что я могу сказать, это означает, что он создает новое соединение для каждого запускаемого мной запроса, а не использует пул соединений. Это тот случай? Если да, могу ли я что-то сделать, чтобы решить проблему, почему не работает пул соединений. Я использую одну строку констант для строк подключения, и я всегда закрываю (чтобы освободить его обратно в пул) соединение сразу после того, как я закончу с ним. В строке подключения нет отключенного пула, и минимальный размер пула равен 10, а максимальный размер пула 1000.

Кто-нибудь еще испытывал подобные проблемы? На всякий случай это приложение ASP.NET (VB.NET), работающее на XP Professional (мой ящик для разработки). Я скомпилировал свое веб-приложение для платформы .NET 2.

Ответы [ 2 ]

4 голосов
/ 08 января 2009

Это ожидаемое поведение. Из документации для Аудит входа в систему Класс события :

Класс событий Audit Login указывает, что пользователь успешно вошел в Microsoft SQL Server. События в этом классе инициируются новыми соединениями или соединениями, которые повторно используются из пула соединений.

Вы должны посмотреть соответствующие счетчики производительности соединений, чтобы увидеть, сколько соединений у вас действительно (на клиенте и на сервере).

0 голосов
/ 08 января 2009

Чтобы ответить на ваш вопрос, нет. Такое поведение не означает, что ваши соединения не объединяются. Как объяснил Каспер, вы увидите эти события, даже когда объединенные соединения используются повторно.

...