Ich kann über eine IP-Adresse keine Verbindung zur SQL-Datenbank meines Servers herstellen

45

Ich habe einen Server eingerichtet, auf dem Windows Server 2008 ausgeführt wird und auf dem SQL Server 2008 Express installiert ist.

Ich kann über die eine Verbindung zur SQL Server Express-Datenbank des Computers herstellen MACHINENAME/SQLEXPRESS.

Wenn wir uns jedoch über eine Software oder ein Skript mit einer IP-Adresse verbinden , wird die Verbindung nicht zugelassen.

Ich habe versucht:

  • Firewall ausschalten.
  • Zulassen von Remoteverbindungen für die SQL-Datenbank.
  • Aktivieren von TCP / IP in der SQL-Konfiguration.

Wenn wir versuchen, eine Verbindung über die Software "SQL Server Management Studio" herzustellen, wird die folgende Meldung angezeigt:

Fehlermeldung:

Beim Herstellen einer Verbindung zum Server ist ein Fehler aufgetreten. Beim Herstellen einer Verbindung zu SQL Server 2005 kann dieser Fehler durch die Tatsache verursacht werden, dass SQL Server in den Standardeinstellungen keine Remoteverbindungen zulässt. (Anbieter: TCP-Anbieter, Fehler: 0 - Es konnte keine Verbindung hergestellt werden, da der Zielcomputer sie aktiv abgelehnt hat.) (Microsoft SQL Server, Fehler: 10061)

Es wurde erfolgreich eine Verbindung mit dem Server hergestellt, aber während des Anmeldevorgangs ist ein Fehler aufgetreten. (Anbieter: TCP-Anbieter, Fehler: 0 - Eine hergestellte Verbindung wurde von der Software auf Ihrem Host-Computer abgebrochen.) (Microsoft SQL Server, Fehler: 10053)

Kannst du mir bitte mitteilen, wann du frei bist, damit wir einen Blick darauf werfen können, da ich anscheinend weiß, woher ich komme? Ich habe die Angaben gemäß den Angaben von UK Fast geändert. Sie können also nicht weiter helfen.

Ich freue mich darauf, von dir zu hören.

Shaun Swales
quelle
Haben Sie versucht, die Portnummer beim Verbinden anzufügen?
Versuchen Sie, eine Verbindung zu "192.168.0.1/SQLEXPRESS" (wobei 192.168.0.1 die IP-Adresse Ihres Servers ist) herzustellen, oder lassen Sie den Instanznamen weg?
Rowland Shaw
2
Verwenden Sie wirklich einen Schrägstrich /und keinen umgekehrten Schrägstrich?
Aaron Bertrand

Antworten:

78

Ihr SQL Server wird als benannte Instanz installiert, so versuchen Sie zuerst zu Ihrem Server verbinden Sie die folgenden Servernamen verwenden: IP Address\SQLEXPRESS.
Wenn Sie SQL Server als benannte Instanz installieren, werden standardmäßig dynamische TCP / IP-Ports verwendet, sodass keine Verbindung ohne Angabe des Instanznamens (nur der IP-Adresse) hergestellt werden kann. Wenn Sie eine Verbindung zu Ihrem Server herstellen müssen, ohne den Instanznamen zu verwenden, müssen Sie Ihren Server neu konfigurieren, um den statischen TCP-Port zu verwenden. Führen Sie dazu bitte folgende Schritte aus:

  1. Öffnen Sie den SQL Server-Konfigurations-Manager.
  2. wechseln zu SQL Server Network Configuration | Protocols for SQLEXPRESS;
  3. Doppelklicken Sie auf das TCP/IPProtokoll.
  4. Wählen Sie den YesWert im EnabledFeld aus.
  5. zum IP AddressesReiter wechseln ;
  6. Finde den IPAllAbschnitt.
  7. Löschen Sie das TCP Dynamic PortsFeld in diesem Abschnitt.
  8. Geben Sie den 1433Wert in das TCP PortFeld ein:
    Bildbeschreibung hier eingeben
  9. Starten Sie Ihren Server neu
    Versuchen Sie, eine Verbindung zu Ihrem Server nur über seine IP-Adresse herzustellen.
levitologista
quelle
7
Vielen Dank, dass Sie uns diese Informationen zur Verfügung gestellt haben. Bis auf eine Sache funktioniert es einwandfrei. Im SQL Management Studio muss ich noch den Port für die Verbindung zum Server bereitstellen, z. B. xxxx \ instance, 1433. Ich finde das irgendwie komisch, da ich den Standardport benutze.
Tomas Jansson
1
Es hat bei mir funktioniert, abgesehen von genau dem Gegenteil von @TomasJansson: Es funktioniert im Management Studio ohne eine Portnummer, aber ich muss eine in meiner Verbindungszeichenfolge angeben, auch wenn ich den Standardport (1433) verwende.
Lpacheco
Zusätzlich zu der hervorragenden Antwort oben wurde mir in SQL Server 2017 klar, dass Sie das Feld für das Benutzerpasswort (insbesondere sa) nicht leer lassen dürfen. Vergewissern Sie sich, dass Sie ein Kennwort eingerichtet haben - andernfalls wird keine Verbindung hergestellt.
aLearner
BENUTZEN Sie netstat -a -b und suchen Sie die Datei sqlservr.exe. Stellen Sie sicher, dass der Port 1433 lautet. Nicht immer der Fall. Sie werden sonst verrückt werden.
JWIZE
8

Sie sollten Folgendes aktivieren, um das Problem zu beheben, indem Sie Folgendes aktivieren und den gesamten Dienst neu starten.

  • Geteilte Erinnerung
  • TCP / IP
  • Named Pipes

Named Pipes der SQL Server-Konfiguration

Baljeetsingh
quelle
8

Wenn Sie SQL Server Express 2017 verwenden, stellen Sie zusätzlich zu den obigen Antworten beim Versuch, eine Verbindung über den Port herzustellen, sicher , dass Sie die Kommasyntax und nicht die Doppelpunktsyntax verwenden.

 MyServerName,1433\InstanceName

Nachdem ich ein paar Stunden mit dem oben genannten Problem gerungen hatte und allen Vorschlägen gefolgt war und es immer noch keine Verbindung herstellte, habe ich stattdessen das oben genannte verwendet und es wurde sofort über das SQL Server Management Studio remote verbunden. Ein erster Schritt zum Erfolg.

Brad
quelle
1
Dies hat es für mich behoben (Verschieben des Ports zwischen dem Servernamen und dem Instanznamen). Die Eingabe des Hafens am Ende hat nicht funktioniert.
Masospaghetti
1

Ich konnte eine Remoteverbindung herstellen, indem ich die dynamische Portnummer explizit angab. Dies ist jedoch offensichtlich nicht ideal.

Es scheint, dass das Problem darin bestand, dass der SQL Server-Browserdienst deaktiviert war. Nachdem ich diesen Dienst aktiviert und gestartet hatte, konnte ich eine Remoteverbindung herstellen, indem ich einfach den Hostnamen und den Instanznamen angab.

RobSiklos
quelle
0

Hinzufügen zu dem, was zuvor gesagt wurde. Ich hatte das gleiche Problem, weil ich keine Verbindung zum Server herstellen konnte (Client und Server auf demselben Desktop), und ich habe alle hier aufgeführten Schritte ausgeführt, um das Problem zu beheben. Schließlich fand ich jedoch heraus, was das Problem war. Alles, was ich tun musste, war, in SQL Server Management Studio zu gehen, auf "SQL Server-Dienste" zu klicken und dann auf den Server zu klicken, zu dem ich eine Verbindung herstellen wollte. Klicken Sie dann auf die grüne Schaltfläche "Ausführen". Ich bin mir nicht sicher, ob dies spezifisch für mich war, da mein Computer sowohl lief als auch auf den Server zugegriffen hat. Ich hoffe, es hilft allen anderen da draußen!

Wo sich der Run / Start Button befindet

Kuolema
quelle
1
Wie um alles in der Welt wurde dieser Kommentar so unterschätzt? Einfach und behoben mein Problem so schnell wie möglich
Cavid Hummatov