Ошибка транспортного уровня: SQL Server потерял соединение (принудительно закрыто удаленным хостом) после режима сна Windows

Я создал приложение VB .NET, которое имеет соединение с SQL Server. Во время работы приложения ОС Windows переходит в спящий режим. После того, как я снова включил машину, я обнаружил эту ошибку:

Произошла ошибка транспортного уровня при отправке запроса на сервер. (провайдер: провайдер TCP, ошибка: 0 - существующее соединение было принудительно закрыто удаленным хостом.)

Состояние соединения все еще ОТКРЫТО, но оно больше не работает. Я прочитал некоторые ресурсы из MSDN, в которых сказано, что SPID прекращен (?).

Можно ли заставить это соединение работать снова после сна ОС Windows?

Если нет, я могу решить, чтобы завершить работающее приложение..

1 ответ

Решение

SQL Server обнаружил, что клиент не находился в спящем режиме, поэтому закрыл сеанс, снял блокировки, откат и т. Д.

Ваше приложение считает "открытым", потому что оно просто запоминает его состояние.

Вы должны открывать соединения по мере необходимости и впоследствии закрываться, чтобы не оказаться в таком состоянии. У открытия / закрытия есть небольшие издержки из-за пула соединений

Другие вопросы по тегам