У меня проблема с службой Windows, которая обращается к базе данных SqlServer 2005. Каждый понедельник он вылетает с InvalidOperationException: время ожидания истекло. Период ожидания истекает до получения соединения из пула. Возможно, это произошло из-за того, что все объединенные соединения использовались и максимальный размер пула был достигнут.Что может вызвать InvalidOperationException: максимальный размер пула, за исключением очевидного
Я проверил все очевидные вещи, такие как закрытие соединений и считывателей db, и не обнаружил никаких проблем.
Самое странное, что в последнем случае я установил перфектный монитор для записи количества подключений в пуле и тому подобное, и обнаружил, что сервер Sql фактически опустился за несколько дней до сбоя службы, поэтому все счетчики SQL показали 0 (служба обрабатывает SQL Server, останавливаясь и пытается подключиться каждые несколько секунд, пока он не восстановится успешно).
До того, как сервер SQL был остановлен, количество открытых подключений было равно 1-2, поэтому, по-видимому, это не проблема с количеством подключений.
Я буду исследовать журналы SQL Server для подсказок, но, возможно, вы можете дать мне представление о том, что может вызвать это исключение, если фактическое количество соединений не является проблемой.
Update:
Проверил журналы и, кажется, что Sql Server не вниз все время. В четверг он был остановлен, но был перезапущен в пятницу. Перезапуск заставил SQL-счетчики в режиме перманентного прекратить передачу данных, поэтому у меня нет реальных данных о количестве подключений во время сбоя.
Время, в течение которого у меня есть перманентные счетчики mon, все SQL-счетчики останавливаются в прошлый четверг. Я жду журналов SQL, но кажется, что именно тогда сервер sql был остановлен (по моему мнению, для maintanance). –