Der angegebene Netzwerkname ist nicht mehr verfügbar

10

Wir haben eine Anwendung, die auf die Datenbank zugreift (SQL Server 2014 Enterprise Edition). Die Anwendung ruft gespeicherte Prozeduren auf, um auf die Datenbank zuzugreifen. Bis vor kurzem hat alles einwandfrei funktioniert. Senden Sie den folgenden Fehler und stoppen Sie die Anwendungen. Durch einen Neustart der App wird das Problem vorübergehend behoben, wobei jedoch derselbe Fehler auftritt.

Fehler: Beim Empfang der Ergebnisse vom Server ist ein Fehler auf Transportebene aufgetreten. (Anbieter: TCP-Anbieter, Fehler: 0 - Der angegebene Netzwerkname ist nicht mehr verfügbar.)

Ich habe viel recherchiert, was die meisten als Netzwerkproblem bezeichneten, konnte aber nichts finden, um das Problem tatsächlich zu lösen. Weiß jemand, welche Änderungen ich auf der Datenbankseite vornehmen muss, um dieses Problem zu beheben? Ich freue mich über Vorschläge.

Hailegziabher Dechassa
quelle

Antworten:

8

Klingt nach fleckigen DNS-Auflösungsproblemen oder lang laufenden Abfragen.

Zur DNS-Fehlerbehebung

Als Pflaster und Hilfe zur Fehlerbehebung fügen Sie die Hosts-Datei auf Ihren App-Servern (nicht auf dem SQL Server) unter c: \ windows \ system32 \ drivers \ etc. Hinzu

SQLServerIPAddress SQLServerName

Beispiel:

172.16.0.5 ProductionSQLBox

Auf diese Weise wird der SQL Server-Name von der Hosts-Datei aufgelöst, bis Sie das eigentliche Problem für die Namensauflösung finden.

Stellen Sie sicher, dass Sie die Hosts-Datei testen, indem Sie die SQL-Box über eine Befehlszeile vom App-Server aus anpingen. Oder erstellen Sie alternativ einen DSN mit dem ODBC-Administrator in der Systemsteuerung und testen Sie die Verbindung dort.

Für lang laufende Abfragen

Implementieren Sie einen längeren Befehlszeitlimitwert für die Anwendungsverbindungszeichenfolgen, die eine Verbindung zum SQL Server herstellen.

Beispiel

<connectionStrings> 
    <add name="webconfigconnectionString" connectionString="server=SQLServerName;database=dbName;uid=u‌​serName;password=ABC‌​123;Timeout=120" />
</connectionStrings>
Stachel
quelle
6

Dies ist kein Datenbankproblem. Auf der Datenbankseite gibt es keine Änderungen, die dieses Problem beheben können. Dieser Fehler wird durch eine hohe Netzwerkbandbreite oder einen Fehler in Ihrer Anwendung verursacht. Ich würde Ihnen empfehlen, diesen Fehler an Ihr Wintel / Network-Team Ihres Unternehmens weiterzuleiten. Sie können den Netzwerk-Switch ändern oder die Netzwerkbandbreite verwalten, um diesen Fehler zu stoppen.

user1987
quelle
3

Dies scheint ein Anwendungsproblem zu sein.

Meiner Meinung nach geht die Anwendung davon aus, dass die SQL-Verbindung immer verfügbar ist (keine Überprüfung oder Prüfung vor dem Ausführen von Befehlen). Wenn die Leitung ausfällt oder die Verbindung unterbrochen wird, erzeugt die Anwendung diese Meldung.

Um zu reproduzieren, beenden Sie einfach die SQL-Sitzung auf dem SQL Server und Sie erhalten das gleiche eine ähnliche Nachricht.

Paolo
quelle