Нерегулярно: ошибка соединения SQL: System.Data.SqlClient.SqlException (0x80131904) - PullRequest
0 голосов
/ 19 марта 2019

У меня есть простое приложение, которое выбирает записи из нескольких баз данных, а затем использует селен, чтобы открыть окно Chrome и вставить информацию в форму.Этот агент запускается каждые пять минут.

Я просмотрел журналы, и эта ошибка появляется время от времени.Когда я пытаюсь найти информацию об этой проблеме, единственные «исправления», которые я могу найти, связаны с брандмауэрами, блокирующими порты, или другими проблемами, которые должны быть «постоянными», например, отсутствие БД / изменение имен или учетных данных.

Проблема с моей ситуацией заключается в том, что эта ошибка возникает только один или два раза в некоторые дни, в другие дни она никогда не происходит.Если бы это была проблема с именами портов / БД, я бы подумал, что эта ошибка должна происходить каждый раз, когда запускается агент.Агент запускается 288 раз в день, и, как я уже говорил, это происходит очень мало раз в отношении общего количества операций агента.

Я наткнулся на ответ, который предполагает, что это может быть связано спроблемы сети на хосте для агента.

Буду признателен за любые идеи о том, что может вызвать эту проблему.

System.Data.SqlClient.SqlException (0x80131904): Соединение былоуспешно установлен с сервером, но во время входа в систему произошла ошибка.(поставщик: поставщик SSL, ошибка: 0 - указанное сетевое имя больше не доступно.) ---> System.ComponentModel.Win32Exception (0x80004005): указанное сетевое имя больше не доступно в System.Data.SqlClient.SqlInternalConnectionTds..ctor (идентичность DbConnectionPoolIdentity, SqlConnectionString connectionOptions, SqlCredential учетных данных, объект providerInfo, Струнный новый_пароль, SecureString newSecurePassword, логическое redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool бассейн, Строка, маркер доступа Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager) на ...

1013 *

1 Ответ

0 голосов
/ 19 марта 2019

Я думаю, что причина может быть найдена здесь

"приложение принимает предположение, что соединение SQL всегда доступно (без проверки или проверки перед выполнением команд), поэтому, когда строкапроисходит сбой или что-либо вызывает сброс / закрытие соединения, приложение генерирует это сообщение.

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

Исправлено: добавьте проверку, чтобы убедиться, что соединение может быть установлено, и добавьте повтор / задержка + повтор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...