Benutzer können möglicherweise keine Remoteverbindung mit SQL Server über das TCP/IP-Protokoll herstellen.
Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem Sie keine Remoteverbindung mit SQL Server über das TCP/IP-Protokoll herstellen können.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 2018930
Symptome
Wenn Sie Microsoft SQL Server verwenden, werden möglicherweise eines oder mehrere der folgenden Symptome angezeigt:
Nur die Benutzer, die über die CONTROL SERVER-Berechtigung 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 herstellen, entweder über Windows oder SQL Server Authentifizierung.
Hinweis
Sie werden feststellen, dass die Benutzerverbindungen mit erhöhten Rechten 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, die das Named Pipes-Protokoll verwenden, sowie lokale Verbindungen, die das Shared Memory-Protokoll verwenden, funktionieren weiterhin einwandfrei.
Darüber hinaus werden die folgenden Meldungen in der SQL Server Fehlerprotokolldatei protokolliert:
Bei SQL Server Start:
Fehler: 26023, Schweregrad: 16, Status: 1.
Der TCP-Serveranbieter konnte nicht auf ['any'ipv6<> 1963] lauschen. Tcp-Port wird bereits verwendet.
Fehler: 9692, Schweregrad: 16, Status: 1.
Der Service Broker-Protokolltransport kann nicht an Port 1963 lauschen, da er von einem anderen Prozess verwendet wird.Für fehlgeschlagene Anmeldungen:
SQL Server 2008 und höher:
Fehler: 18456, Schweregrad: 14, Status: 11.
Fehler bei der Anmeldung für den Benutzer "MyDomain\TestAcc". Ursache: Bei der tokenbasierten Serverzugriffsüberprüfung ist ein Infrastrukturfehler aufgetreten. Überprüfen Sie, ob vorherige Fehler vorliegen.
Ursache
Der Fehler tritt auf, wenn Sie einen TCP-Endpunkt für Service Broker mit demselben Port konfigurieren, für den die SQL Server instance konfiguriert ist. Sie können die Liste der Endpunkte abrufen, indem Sie die folgende Abfrage ausführen:
SELECT * FROM sys.tcp_endpoints
Hinweis
Wie in der Onlinedokumentation zu sys.tcp_endpoints (Transact-SQL) erläutert, enthält diese Ansicht keine Informationen zu den Ports und Protokollen, die SQL Server instance derzeit für die Verwendung konfiguriert ist. Informationen zu diesen Informationen finden Sie unter SQL Server-Konfigurations-Manager.
Lösung
Methode 1: Löschen Sie den Endpunkt, der das Problem verursacht, mithilfe des Befehls DROP ENDPOINT (Transact-SQL).
Um beispielsweise einen Endpunkt mit dem Namen
TestEP
zu löschen, können Sie den folgenden Befehl verwenden:DROP ENDPOINT TestEP
Methode 2: Ändern Sie den Endpunkt mithilfe des Befehls ALTER ENDPOINT (Transact-SQL) so, dass er einen anderen Port verwendet.
Um beispielsweise einen Endpunkt mit dem Namen
TestEP
so zu ändern, dass er einen anderen 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 wie denen auftreten, die für die Datenbankspiegelung erstellt wurden, und die Fehlermeldungen bei SQL Server Start ändern sich entsprechend.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für