it-swarm.com.de

Wie kann ich MS SQL Server für Verbindungen verfügbar machen?

Ich versuche, von einem Java-Programm aus eine Verbindung zu MS SQL Server (auf meinem Computer ausgeführt) herzustellen. Ich bekomme die folgende langatmige Ausnahme:

Exception in thread "main" com.Microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the Host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties, check that an instance of SQL Server is running on the Host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".

Wenn ich "Eigenschaften" überprüfe und auf "Verbindungseigenschaften anzeigen" im Objekt-Explorer von MS SQL klicke, finde ich, dass der "Server nicht verfügbar" ist. Dies scheint möglicherweise auf die Ausnahmemeldung zurückzuführen zu sein.

Wie kann ich den Server verfügbar machen?

Bearbeiten:

Ich verwende SQL Server 2008 und habe jetzt TCP/IP aktiviert und meine Instanz neu gestartet. Mir wird immer noch gesagt, dass "Server nicht verfügbar ist".

Irgendwelche anderen Ideen?

26
Eric Wilson

Ich bin auch auf dieses Problem gestoßen ... Der MSKB-Artikel gilt für SQL Server 2005.

Da das Tool "SQL Server-Oberflächenkonfiguration" anstelle von "Facetten" weggelassen wurde, war dies für mich nicht offensichtlich.

Ich habe dies gelöst, indem ich den TCPAll-Port eingestellt und die entsprechende IP aktiviert habe.


Schritte

  1. Öffnen Sie den SQL Server Configuration Manager (Start -> Programme -> Microsoft SQL Server 2008 -> Konfigurationstools).

  2. Erweitern Sie SQL Server-Netzwerkkonfiguration -> [Ihre Serverinstanz].

  3. Doppelklicken Sie auf TCP/IP

    • Unter Protokoll :

      Stellen Sie sicher, dass AktiviertJa ist.

    • Unter IP-Adressen :

      Scrollen Sie nach unten und legen Sie unter IPAll den TCP Port fest (standardmäßig 1433).

      Suchen Sie die IP-Adresse, zu der Sie eine Verbindung herstellen möchten, und setzen Sie Aktiviert und Aktiv auf Ja

59
ptg

Bevor Sie sich mit Verbindungen beschäftigen, müssen Sie zunächst überprüfen, ob der SQL Server-Dienst tatsächlich ausgeführt wird. 

Sie können dies tun, indem Sie entweder den SQL Server-Konfigurations-Manager (im Ordner Konfigurationswerkzeuge) oder die Standarddienstekonsole in der Windows-Systemsteuerung verwenden.

Nachdem Sie überprüft haben, dass der Dienst betriebsbereit ist, müssen Sie sicherstellen, dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden.

Nachfolgend finden Sie eine Erläuterung dazu.

http://support.Microsoft.com/kb/914277

7
John Sansom

Ich verwende SQL Server 2012 und hatte die gleichen Probleme. 

Bitte beachten Sie, wenn Sie TCP/IP aktivieren, gibt es zwei Optionen:

  • Active - YES - Wenn Sie einfach auf Ja klicken, funktioniert es nicht
  • Enabled - auch hier klicken. Ich habe nicht darauf geachtet. Ich wunderte mich, warum es nicht funktionierte, und verschwendete viel Zeit im Prozess

Mit diesem können Sie Abhörports testen:

netstat -an
5
Amin

Überprüfen Sie wie üblich das Offensichtliche: 1. Prüfen Sie, ob auf Ihrem Router die Ports 1433 und 1434 aktiviert sind (dies sind die Standardeinstellungen für die IP/UDP-Kommunikation) 2. Stellen Sie sicher, dass die Ports nicht blockiert sind, wenn Sie über eine Firewall auf dem Client oder dem Server verfügen (dies ist derjenige, der mein "gotcha" war) . Wechseln Sie in SQL Configuration Manager, und stellen Sie sicher, dass TCP/IP unter SQL Server-Netzwerkkonfiguration aktiviert ist. Auch in demselben Programm unter SQL Native Client 1.0 (falls installiert) ist TCP/IP aktiviert.

Eine preiswerte und schlampige Methode, um sicherzustellen, dass alle Verbindungsinformationen funktionieren, ist das Erstellen einer .udl-Datei (an beliebiger Stelle in Ihrem System), geben Sie die entsprechenden Informationen ein und klicken Sie auf "Verbindung testen". Wenn dort etwas nicht stimmt, erhalten Sie eine (ziemlich) informative Meldung zum Problem. Wenn Sie keine .udl-Dateien kennen, klicken Sie mit der rechten Maustaste in Windows Explorer (rechter Seitenbereich), um ein " Neue Textdatei ". Geben Sie einen beliebigen Namen ein, ändern Sie jedoch die Erweiterung von .txt in .udl. Sie werden aufgefordert, die Änderung der Nebenstelle zu bestätigen. Antworten Sie mit Ja. Klicken Sie nach dem Erstellen auf die Datei (oder doppelklicken Sie, wenn Sie nicht mit einem einzigen Klick arbeiten), um sie zu öffnen. Es gibt 4 Registerkarten. Mit der ersten können Sie den Anbieter auswählen. Verwenden Sie für Visual Studio den SQL-systemeigenen Client, für jedes andere Programm den standardmäßigen SQL Server-Provider. Auf der zweiten Registerkarte können Sie den Servernamen, den SQL Server-Benutzernamen und das Kennwort (falls verwendet) usw. eingeben. Dann die Verbindung testen. Ein weiterer Hinweis - Wenn Sie die Windows-Authentifizierung verwenden, stellen Sie sicher, dass diese Benutzer den Server-Anmeldungen hinzugefügt wurden.

4
Bruce

Abhängig von der verwendeten SQL Server-Version wird möglicherweise nur die Verwendung von Named Pipes standardmäßig festgelegt.

Sie müssen TCP/IP-Verbindungen zum Server aktivieren. Wenn Sie uns mitteilen können, welche Version des SQL-Servers Sie verwenden, können wir genauere Anweisungen zum Aktivieren von TCP/IP geben.

4
Jon Skeet

Öffnen Sie den SQL Server Configuration Manager. (Start | Programme | Welche Version des SQL-Servers | Konfigurationstools)

Gehen Sie zu "SQL Server Services" und starten Sie Ihre Instanz neu. Sie können dies jedoch in Management Studio tun, indem Sie mit der rechten Maustaste auf die Instanz klicken und Neustart auswählen. 

Wenn der Neustart fehlschlägt, lesen Sie Computerverwaltung | Ereignisanzeige | Anwendung und suchen Sie nach SQL Server-Events. Hier werden erfolgreiche und Fehlermeldungen aufgezeichnet.

3
Chad

Prüfen Sie, ob die Verbindung durch die Firewall blockiert ist oder nicht. Wenn die Firewall eines Drittanbieters aktiv ist, kann die Verbindung mit TCP blockiert werden. Nach diesem Schritt
1. Aktivieren Sie die Option TCP aktiviert oder nicht
ein. Öffnen Sie den SQL Server-Konfigurations-Manager
b. SQL Server-Netzwerkkonfiguration
c. Protokolle für MSSQLSERVER
d. TCP - Aktivieren Sie es
e. Überprüfen Sie auch alle - Ja
f. Auf der Registerkarte "IP-Adressen" sollte die IPAll-Portnummer 1433 sein

3

Hier sind meine Screenshots. Wenn Sie die Wörter nicht lesen können, laden Sie das Bild herunter oder kopieren Sie es und fügen Sie es in Paint ein. 

In Glassfish:

Registerkarte "Allgemein":

enter image description here

Registerkarte "Weitere Eigenschaften"

URL = jdbc: sqlserver: // localhost; databaseName = NETEAV

enter image description here

In Microsoft SQL Server Management Studio:

enter image description here

3
Gene

Überprüfen Sie zunächst, ob der SQL Server-Dienst ausgeführt wird. Wenn Sie SQL 2005 oder 2008 verwenden, überprüfen Sie mit Configuration Manager (2008) oder Surface-Konfigurationstool (2005), ob das TCP/IP-Protokoll aktiviert ist und TCP/IP-Verbindungen zulässig sind. Bei SSE (Express) sind diese standardmäßig deaktiviert, was Ihr Problem verursachen könnte. Nur für den Fall, dass Sie mehrere Instanzen ausführen, müssen Sie möglicherweise den SQL-Browserdienst ausführen. In diesem Fall sollten Sie den Objekt-Explorer unter Verwendung von (lokal) als Serveradresse verbinden können, da dies eine lokale/gemeinsam genutzte Speicherverbindung verwendet.

2
Anthony

Ab 2005 wird der SQL Server-Browser -Dienst ausgeführt.
Dieser hat mich viele Male getäuscht.

1
Julian de Wit

Gleicher Fehler beim Verbinden mit SQL Server 2014.

Ich habe mich beim SQL-Server angemeldet, um sicherzustellen, dass die richtige Portnummer eingestellt wurde. 
In meinem Fall wurde die Portnummer für die SQL-Instanz nicht festgelegt.

Daher entfernte ich die Portnummer aus der Verbindungszeichenfolge-URL und konnte mich dann verbinden.

Jeder, dem dieses Problem gegenübersteht, kann dies versuchen 

0
Jeeveshwar D