Почему я получаю эту ошибку «[DBNETLIB][ConnectionRead (recv()).]Общая сетевая ошибка» на страницах ASP

StackOverflow https://stackoverflow.com/questions/46841

Вопрос

Иногда на сайте ASP (классическом) пользователи получают следующую ошибку:

[DBNETLIB][ConnectionRead (recv()).]General network error.

Кажется случайным и не связанным с какой-либо конкретной страницей.SQL-сервер отделен от веб-сервера, и я предполагаю, что время от времени «связь» между ними обрывается.Проблема с маршрутизатором/коммутатором...или кто-то еще сталкивался с этой проблемой раньше?

Это было полезно?

Решение

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

Другие советы

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

http://support.microsoft.com/kb/875285/en-us

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

Но одной из причин может быть встроенная функция MS-SQL.

Эта функция обнаруживает DoS-атаки — в данном случае слишком много запросов с веб-сервера :).

Но я понятия не имею, как мы это исправили :(.

Менеджер конфигурации SQL-сервера

Отключить TCP/IP, включить общую память и именованные каналы

Удачи !

Не совсем решение и не та среда.Однако я получаю эту ошибку в программе VBA/Excel, и проблема в том, что у меня зависшая транзакция, которая не была отправлена ​​в SQL Server Management Studio (SSMS).После закрытия SSMS все работает.Итак, урок заключается в том, что зависшая транзакция может заблокировать выполнение процедур (очевидный факт, я знаю!).Надеюсь, это поможет кому-то здесь.

откройте командную строку — запустите от имени администратора и введите следующую команду на стороне клиента

netsh advfirewall set allprofiles state off

Кстати, у меня была эта ошибка в Excel, которая зависала на EXEC, который нормально работал в SSMS.Раньше я видел запросы с проблемами, которые также были в порядке в SSMS из-за «обнюхивания параметров» и неподходящих планов кэшированных запросов.Небольшое изменение SP решило проблему, и впоследствии все работало нормально в исходном виде.Мне было бы интересно услышать, сталкивался ли кто-нибудь с таким сценарием.Попробуйте старое доброе OPTION (OPTIMIZE FOR UNKNOWN) :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top