Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem Sie keine Remoteverbindung mit SQL Server mithilfe des TCP/IP-Protokolls herstellen können.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 2018930
Problembeschreibung
Wenn Sie Microsoft SQL Server verwenden, sehen Sie möglicherweise ein oder mehrere der folgenden Symptome:
Nur die Benutzer, die über die BERECHTIGUNG CONTROL SERVER verfügen (z. B. Mitglieder der festen Serverrolle syadmin ), können eine Verbindung über TCP/IP herstellen. Benutzer, die nicht über diese Berechtigung verfügen, können keine Remoteverbindung über das TCP/IP-Protokoll über windows- oder SQL Server-Authentifizierung herstellen.
Notiz
Sie werden feststellen, dass die erhöhten Benutzerverbindungen nur in sys.dm_exec_sessions (Transact-SQL) Dynamic Management View (DMV) angezeigt werden, aber nicht in sys.dm_exec_connections (Transact-SQL) -Ansicht.
Sowohl lokale als auch Remoteverbindungen mithilfe des Named Pipes-Protokolls sowie lokale Verbindungen mit dem freigegebenen Speicherprotokoll funktionieren weiterhin einwandfrei.
Darüber hinaus werden die folgenden Meldungen in der SQL Server-Fehlerprotokolldatei protokolliert:
Beim Starten von SQL Server:
Fehler: 26023, Schweregrad: 16, Status: 1.
Server-TCP-Anbieter konnte nicht auf ['any'ipv6<> 1963] lauschen. Der TCP-Port wird bereits verwendet.
Fehler: 9692, Schweregrad: 16, Status: 1.
Der Dienstbrokerprotokolltransport kann nicht auf Port 1963 lauschen, da er von einem anderen Prozess verwendet wird.Für fehlgeschlagene Anmeldungen:
SQL Server 2008 und höhere Versionen:
Fehler: 18456, Schweregrad: 14, Status: 11.
Fehler bei der Anmeldung für den Benutzer "MyDomain\TestAcc". Ursache: Fehler bei der Überprüfung des tokenbasierten Serverzugriffs mit einem Infrastrukturfehler. Suchen Sie nach vorherigen Fehlern.
Ursache
Der Fehler tritt auf, wenn Sie einen TCP-Endpunkt für Service Broker mit demselben Port konfigurieren, den die SQL Server-Instanz für die Verwendung konfiguriert hat. Sie können die Liste der Endpunkte abrufen, indem Sie die folgende Abfrage ausführen:
SELECT * FROM sys.tcp_endpoints
Notiz
Wie im Thema "Books Online" zu sys.tcp_endpoints (Transact-SQL) erläutert, enthält diese Ansicht keine Informationen zu den Ports und Protokollen, die derzeit für die Verwendung von SQL Server-Instanzen konfiguriert sind. Informationen hierzu finden Sie unter SQL Server-Konfigurations-Manager.
Lösung
Methode 1: Legen Sie den Endpunkt ab, der das Problem mit dem BEFEHL DROP ENDPOINT (Transact-SQL) verursacht.
Wenn Sie beispielsweise einen Endpunkt mit dem Namen
TestEPablegen möchten, können Sie den folgenden Befehl verwenden:DROP ENDPOINT TestEPMethode 2: Ändern Sie den Endpunkt so, dass er einen anderen Port verwendet, indem Sie den Befehl ALTER ENDPOINT (Transact-SQL) verwenden.
Wenn Sie z. B. einen Endpunkt ändern möchten, der einen
TestEPanderen Port verwendet, können Sie den folgenden Befehl verwenden:ALTER ENDPOINT TestEP as tcp (listener_port=1980)
Weitere Informationen
Ähnliche Probleme können auch bei anderen TCP-Endpunkten auftreten, z. B. die für die Datenbankspiegelung erstellten Endpunkte, und die Fehlermeldungen beim SQL Server-Start ändern sich entsprechend.