SQL Server mit einer IP erreichbar, mit einer anderen nicht
Auge
- datenbank
- netzwerk
- webserver
0 Christian Kruse0 Auge
Hallo
Ich habe ein sporadisch auftretendes Problem bei der Verbindung zweier Server. Ein Programm auf Server #1 bereitet Daten auf und übergibt sie an einen „MS SQL Server Express 2008“, der auf dem Server #2 läuft. Server #1 hat zwei LAN-Schnittstellen (Bsp.: „192.168.1.2“ und „192.168.1.10“), Server #2 hat die IP „192.168.1.5“. Die Verbindung wird über den „MS OLE DB Provider“ unter Angabe des Servernamens, nicht der IP hergestellt.
Nun kommt es gelegentlich [1] vor, dass das Log des Programms, das die Daten übergibt, Fehlermeldungen produziert, die Daten aber dennoch auf dem SQL-Server ankommen. Konkret geht es um die SQL-Fehlermeldungen „Fehler bei der Anmeldung für den Benutzer 'X'“ und „Anmeldungstimeout abgelaufen“.
Den ersten der beiden Fehler kann ich im Fehlerprotokoll des SQL-Servers nachvollziehen. Der Fehler wird dort ausschließlich mit einer der beiden IPs des Servers #1 protokolliert, nie mit der anderen IP.
Beispiel:
2015-09-23 19:19:41.56 Login failed for user 'Bienchen'. Ursache: Das Kennwort hat nicht mit dem für die Anmeldung angegebenen Kennwort übereingestimmt. [CLIENT: 192.168.1.10]
Wie ist es möglich, dass der Login am SQL-Server mit den selben Anmeldedaten über eine IP funktioniert, über eine andere nicht? Da die Daten dennoch auf dem SQL-Server ankommen, gehe ich davon aus, dass der nächste Verbindungsversuch über die richtige IP erfolgt und deshalb funktioniert.
Für den zweiten Fehler wird bei MS (siehe Link bei Anmeldetimeout abgelaufen) als mögliche Ursache neben falschen Anmeldedaten, nicht laufendem SQL-Serverdienst und geschlossenen Ports ein Netzwerkproblem aufgelistet. Da ich die Richtigkeit der Anmeldedaten bestätigen kann, der SQL-Server läuft und auch die notwendigen Ports offen sind, bleibt für mich das Netzwerkproblem, zumal es wegen des ersten Fehlers stark danach riecht.
Kann ich auf dem Server #1 für das eine betroffene Programm die zum raustelefonieren zu benutzende LAN-Schnittstelle vorgeben? Gibt es irgendetwas anderes, mit dem ich dem Problem beikommen kann, etwas, was ich übersehe?
Tschö, Auge
Unter gelegentlich fällt hier „alle paar Tage“ bis „mehrfach täglich“. Wenn, dann tritt der Fehler mehrere Male binnen einer halben bis einer Sekunde auf, dann vielleicht nach ein paar Stunden erneut. ↩︎
Hallo Auge,
ich habe nicht wirklich viel Ahnung vom SQL-Server, aber:
Wie ist es möglich, dass der Login am SQL-Server mit den selben Anmeldedaten über eine IP funktioniert, über eine andere nicht?
Sowohl MySQL als auch PostgreSQL als auch Oracle kann man so konfigurieren, dass bestimmte User nur von einer bestimmten IP aus zugreifen dürfen. Ist das beim SQL-Server vielleicht auch so?
Kann ich auf dem Server #1 für das eine betroffene Programm die zum raustelefonieren zu benutzende LAN-Schnittstelle vorgeben? Gibt es irgendetwas anderes, mit dem ich dem Problem beikommen kann, etwas, was ich übersehe?
MS hat darüber mal gebloggt, vielleicht hilft dir das weiter?
LG,
CK
Hallo
Wie ist es möglich, dass der Login am SQL-Server mit den selben Anmeldedaten über eine IP funktioniert, über eine andere nicht?
Sowohl MySQL als auch PostgreSQL als auch Oracle kann man so konfigurieren, dass bestimmte User nur von einer bestimmten IP aus zugreifen dürfen. Ist das beim SQL-Server vielleicht auch so?
Ich habe bisher nichts gefunden, was darauf schließen lässt. Mag sein, dass das dennoch geht.
Kann ich auf dem Server #1 für das eine betroffene Programm die zum raustelefonieren zu benutzende LAN-Schnittstelle vorgeben? Gibt es irgendetwas anderes, mit dem ich dem Problem beikommen kann, etwas, was ich übersehe?
MS hat darüber mal gebloggt, vielleicht hilft dir das weiter?
Das hilft zumindest meinem Verständnis auf die Sprünge. Allerdings bleibt die Frage, warum die Anfrage meist über die richtige™ Schnittstelle und nur gelegentlich über die falsche rausgeht. In dem Blogeintrag ist unter Anderem davon die Rede, dass das mit Windows Vista eingeführte Strong Host Model die Nebenwirkung haben kann, dass, wenn eine Route (#1) blockiert ist, eine Andere (#2) zur Standardroute gemacht werden kann, obwohl die Route #1 erklärtermaßen benutzt werden soll [1].
Nun ist laut meinem Netzwerker keine Defaultroute angegeben, der Punkt trifft also nicht vollständig zu, aber dennoch würde ich gerne ermitteln, warum sporadisch die Zweit-IP benutzt wird. Wo kann ich auf einem MS SBS 2011 das Log finden? Ich habe haufenweise Logfiles gefunden, aber keines zum allgemeinen Netzwerkverkehr.
Tschö, Auge
Punkt „What about Neighbor Unreachability?“, dritter Absatz; Das Kapitel ist leider, wie auf so vielen Seiten, nicht verlinkbar. ↩︎