Я использую SQL Server 2008 R2 с пакетом обновления 1 (SP1) на компьютере под управлением Windows Server 2008. У меня есть скрипт .NET, запущенный из Visual Studio 2010, который выполняет следующие действия:
- Достигает в базу данных
- Вносит изменения
- Итерации
Общее количество повторений 150, но оно останавливается на 100 соединениях, и я не могу понять, почему. Я мог бы настроить свой сценарий так, чтобы он использовал только один поток, но я бы предпочел знать, где мне не хватает максимальной настройки соединения, так как это будет более полезно узнать для дальнейшего использования.
Вот где я проверил до сих пор:
- Строка SQL-соединения в Visual Studio 2010 (установлена на 1000)
- Свойства соединения экземпляра базы данных SSMS (для него установлено 0 [бесконечность] пользовательских соединений)
- Погуглил некоторую информацию о Server 2008, похоже, он может обрабатывать более 100 соединений
- Пошагово просматривал мой код,
SP_WHO2
который дает больше информации о логических соединениях, видя, что число соединений начинается с 52, а ошибки сценария с ошибкой «Максимальное количество соединений в пуле достигнуто» при 152 логических соединениях. - Изменена строка подключения для использования
Data Source=PerfSQL02;Initial Catalog=Masked;Integrated Security=True;Max Pool Size=1000
Я не уверен, где еще можно проверить, я знаю, что у меня здесь много движущихся частей, но у меня возникает ощущение, что я просто где-то пропускаю настройку максимального пула.
System.Data.SqlClient
умолчанию 100, поэтому вы видите исчерпание пула подключений).