Вот ошибка, которую мы получаем. Мы переместили серверы приложений и db на x64 с 32-разрядной версии. На серверах установлен пакет обновления 2 Framework 2.0.
Истекло время ожидания. Период таймаута истек до получения соединения из пула. Это могло произойти из-за того, что все соединения пула использовались и был достигнут максимальный размер пула.
Эта ошибка, вероятно, означает, что вы не закрываете свои соединения ADO.Net. Просмотрите свой код и убедитесь, что все ваши объекты SqlConnection явно правильно удаляются в вашем коде ASP.Net. Вы можете сделать это с помощью блоков в вашем коде VB или C #. Конструкция using автоматически закрывает и удаляет ваше соединение, когда оно выходит за рамки ...
// C# example
using (var conn = new SqlConnection(myConnectString))
{
conn.Open();
// your data access code here
}
... или ...
' VB example
Using conn As var = New SqlConnection(myConnectString)
conn.Open()
' your data access code here
End Using
Вы указываете время ожидания подключения = в строке подключения? Если нет, вы можете добавить это и указать 300 секунд, чтобы узнать, нужно ли просто больше времени. Я считаю, что по умолчанию 15 секунд.
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx
У моей группы были аналогичные проблемы, когда мы запустили довольно большую интеграцию веб-сервисов в нашу производственную среду. Мы не обнаружили случаев, когда соединения не закрывались, поэтому мы были вынуждены сделать вывод, что соединения действительно были необходимы. Я все же должен сказать, что мне кажется противным увеличивать максимальный размер пула соединений ... Чтобы сэкономить время на поиске в Google, вот точный способ его изменить:
<connectionStrings>
<add name="ConnString"
connectionString="Data Source=IP; Initial Catalog=DBName;User ID=User;
Password=Pass; Max Pool Size=200;"
providerName="System.Data.SqlClient" />
</connectionStrings>
Обратите внимание: "Максимальный размер пула = 200;"