Ошибка транспортного уровня: SQL Server потерял соединение (принудительно закрыто удаленным хостом) после режима сна Windows
Я создал приложение VB .NET, которое имеет соединение с SQL Server. Во время работы приложения ОС Windows переходит в спящий режим. После того, как я снова включил машину, я обнаружил эту ошибку:
Произошла ошибка транспортного уровня при отправке запроса на сервер. (провайдер: провайдер TCP, ошибка: 0 - существующее соединение было принудительно закрыто удаленным хостом.)
Состояние соединения все еще ОТКРЫТО, но оно больше не работает. Я прочитал некоторые ресурсы из MSDN, в которых сказано, что SPID прекращен (?).
Можно ли заставить это соединение работать снова после сна ОС Windows?
Если нет, я могу решить, чтобы завершить работающее приложение..
1 ответ
SQL Server обнаружил, что клиент не находился в спящем режиме, поэтому закрыл сеанс, снял блокировки, откат и т. Д.
Ваше приложение считает "открытым", потому что оно просто запоминает его состояние.
Вы должны открывать соединения по мере необходимости и впоследствии закрываться, чтобы не оказаться в таком состоянии. У открытия / закрытия есть небольшие издержки из-за пула соединений