Warum erhalte ich bei ASP-Seiten die Fehlermeldung „[DBNETLIB][ConnectionRead (recv()).]Allgemeiner Netzwerkfehler“.

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

Frage

Gelegentlich erhalten Benutzer auf einer ASP-Site (klassisch) diese Fehlermeldung:

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

Scheint zufällig zu sein und nicht mit einer bestimmten Seite verbunden zu sein.Der SQL-Server ist vom Webserver getrennt und ich vermute, dass die „Verbindung“ zwischen den beiden hin und wieder unterbrochen wird.Router-/Switch-Problem...Oder ist dieses Problem schon einmal bei jemandem aufgetreten?

War es hilfreich?

Lösung

Ich verwende das gleiche Setup wie bei Ihnen (d. h. separater Web- und Datenbankserver). Ich habe es von Zeit zu Zeit gesehen und es gab immer ein Verbindungsproblem zwischen den Servern – normalerweise, wenn der Datenbankserver neu gestartet wird, aber manchmal, wenn es eine Kommunikation gibt Problem irgendwo im System.Ich habe nicht gesehen, dass es durch Probleme mit dem ASP-Code selbst ausgelöst wurde, weshalb Sie es scheinbar zufällig sehen und nicht mit einer bestimmten Seite verbunden sind.

Andere Tipps

Ich wollte diese Ressource hier zur Diskussion hinzufügen, da dies ein so häufiger Fehler ist und die Diagnose ziemlich verwirrend ist.Dies ist eine PowerPoint-Präsentation, die Microsoft zum Thema zusammengestellt hat:

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

Ich habe diesen Fehler schon oft gesehen.Es kann viele Ursachen haben, darunter auch Netzwerkfehler :).

Aber einer der Gründe könnte die integrierte Funktion von MS-SQL sein.

Die Funktion erkennt DoS-Angriffe – in diesem Fall zu viele Anfragen vom Webserver :).

Aber ich habe keine Ahnung, wie wir das Problem behoben haben :(.

SQL Server-Konfigurationsmanager

Deaktivieren Sie TCP/IP, aktivieren Sie Shared Memory und Named Pipes

Viel Glück !

Keine exakte Lösung und nicht die gleiche Umgebung.Allerdings erhalte ich diesen Fehler in einem VBA/Excel-Programm und das Problem besteht darin, dass ich eine hängende Transaktion habe, die nicht in SQL Server Management Studio (SSMS) übermittelt wurde.Nach dem Schließen von SSMS funktioniert alles.Die Lektion ist also, dass eine hängende Transaktion Sprocs daran hindern kann, fortzufahren (offensichtliche Tatsache, ich weiß!).Ich hoffe, das hilft hier jemandem.

Öffnen Sie die Eingabeaufforderung – Führen Sie sie als Administrator aus und geben Sie den folgenden Befehl auf der Clientseite ein

netsh advfirewall set allprofiles state off

FWIW, ich hatte diesen Fehler in Excel, der bei einer EXEC hängen blieb, die in SSMS einwandfrei funktionierte.Ich habe schon früher Abfragen mit Problemen gesehen, die aufgrund von „Parameter-Sniffing“ und ungeeigneten zwischengespeicherten Abfrageplänen auch innerhalb von SSMS in Ordnung waren.Durch eine geringfügige Änderung am SP wurde das Problem behoben und es funktionierte anschließend in seiner ursprünglichen Form einwandfrei.Es würde mich interessieren, ob jemand dieses Szenario auch schon einmal erlebt hat.Probieren Sie das gute Alte OPTION (OPTIMIZE FOR UNKNOWN) :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top