Как вы справляетесь с ошибками транспортного уровня в SqlConnection? - PullRequest
32 голосов
/ 19 августа 2008

Время от времени в крупномасштабном .NET-приложении вы можете увидеть это исключение при попытке выполнить запрос:

System.Data.SqlClient.SqlException: ошибка транспортного уровня имеет произошло при отправке запроса на сервер.

Согласно моим исследованиям, это то, что "просто происходит", и мало что можно сделать, чтобы предотвратить это. Это не происходит в результате неправильного запроса и, как правило, не может быть продублировано. Он может возникать один раз в несколько дней в загруженной системе OLTP, когда по какой-то причине порт TCP с базой данных перестает работать.

Я вынужден обнаружить эту ошибку, проанализировав сообщение об исключении и затем повторив всю операцию с нуля, чтобы включить использование нового соединения. Ничего из этого не красиво.

У кого-нибудь есть альтернативные решения?

Ответы [ 11 ]

0 голосов
/ 19 августа 2008

Вам также следует проверить аппаратное подключение к базе данных.

Возможно, эта ветка будет полезна: http://channel9.msdn.com/forums/TechOff/234271-Conenction-forcibly-closed-SQL-2005/

...