2009-04-01 15 views
0

Wenn ich remote eine Verbindung mit dem SQL Server 2008 herstelle funktioniert es nur einmal, danach hängt der Server. Der Dienst kann nicht gestoppt oder neu gestartet werden, und beim Versuch, die Verbindung erneut herzustellen, wird ein Timeout-Fehler angezeigt.SQL Server 2008-Remoteverbindung funktioniert nur einmal

Der Server hat TCP/IP-Verbindungen aktiviert. Der Standardport ist auf 1433 eingestellt und ich habe die 0 von den dynamischen Ports gelöscht. Ich habe die IP-Adresse 127.0.0.1 und die öffentliche IP-Adresse aktiviert und die 1433-IP-Adresse für sie festgelegt. Benannte Pipes und das andere Protokoll (Shared Memory oder etwas anderes) sind deaktiviert.

Ich verbinde von der Remote-Maschine mit dem 'sa' Benutzer und einem starken Passwort. Der Server ist so eingestellt, dass er beide Authentifizierungsmodi akzeptiert.

Die Verbindung zum ersten Mal von der Remote-Maschine funktioniert perfekt. Abfragen arbeiten und Daten können aus den Datenbanken abgerufen werden. Nach dem Trennen und dem Versuch, sich erneut zu verbinden, tritt ein Timeout-Fehler auf. Dieser Fehler wird generiert, da der SQL Server irgendwo gehängt wird. An diesem Punkt ist es unmöglich, den SQL Server-Dienst vom Service-Rechner aus zu stoppen oder neu zu starten. Die einzige Lösung besteht darin, den Computer neu zu starten. Die lokale Verbindung mit dem Server von SQL Management Studio funktioniert jedoch weiterhin.

Ich denke, es hat etwas damit zu tun, irgendwo in eine Endlosschleife zu gehen, oder es lässt die Verbindung auf dem 1433-Port nicht fallen, nachdem es von der entfernten Maschine getrennt wurde und immer noch auf Eingaben von ihm wartet.

Antwort

1

haben Sie nichts auf der Netzwerkschicht ausgeschlossen wie Software oder Hardware-Firewalls, NAT'ing, Proxies usw.?

Verwenden Sie SQL Server als Standard oder benannte Instanz?

Wenn Sie einen Netstat tun, während die Dinge funktionieren & dann, wenn Sie eine Auszeit bekommen, was sehen Sie?

Versuchen Sie, Netzwerkmonitor oder wireshark auf dem Server zu laufen, um zu sehen, ob die Anfrage durch & kommt, wenn ja, reagiert der Server?

EDIT: Es ist ein bisschen ein Anliegen, dass Sie auf dem Server auf Port 1433 eine Verbindung herstellen können, wenn SQL Server nicht läuft, können Sie eine Verbindung verweigert (keine Firewall) bekommen oder ein Timeout (mit einer Firewall sollte)

Run Profiler auf dem Server & Audit Logins/Logouts sollten Sie in der Lage sein, den Client zu sehen verbinden? Kann es Ihnen helfen, das Problem zu beheben?

Versuchen Sie ein stumpfes Instrument wie Neuinstallation der SQL-Server-Connectivity-Treiber z. mdac, sql native auf dem Client.

+0

1. Das Netzwerk funktioniert einwandfrei, andernfalls würde es überhaupt keine Verbindung herstellen. Aber es funktioniert einmal nach jedem Neustart. 2. Standardinstanz. 3. Ich kann Telnet in den Server am Port 1433 sowohl wenn der Server arbeitet und wenn es nicht ist. 4. Ich werde es versuchen, aber ich bezweifle, dass dies das Problem ist. – Ovi

+0

1. Sollte es nicht funktionieren, wenn das der Fall ist? 2. Ich habe versucht, SQL auf dem Server neu zu installieren, aber immer noch das gleiche Problem auftritt. Ich werde den Profiler verwenden, um zu sehen, was was ist. 3. Ich habe versucht mit mehreren Clients auf verschiedenen Betriebssystemen, die alle die neueste Version von SQL 2008 ausführen. Das gleiche passiert jedes Mal. – Ovi

+0

Haben Sie diese Probleme, wenn Sie sich lokal mit dem Server verbinden? Ich denke immer noch, Sie haben ein Netzwerk Probleme irgendwo auf einer niedrigeren Ebene –