Freigeben über


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.