Dieser Artikel ist nützlich für Anfänger in der SQL Server-Verwaltung und gibt Einblicke in die SQL Server-Ports, die Methoden zum Identifizieren der aktuell konfigurierten Ports.
Einführung
Wir können den Port als Endpunkt des Dienstes für Kommunikationszwecke definieren. Es kann an eine bestimmte Anwendung oder einen bestimmten Dienst gebunden sein. Sobald wir SQL Server installiert haben, werden Standardports für SQL Server-Dienste konfiguriert. Jede Clientanwendung verwendet die Kombination aus IP-Adressen und Portnummer, um eine Verbindung zu SQL Server herzustellen.
In SQL Server können zwei Arten von SQL Server-Ports verwendet werden.
- Statischer Port : Ein statischer Port ist immer an einen Dienst oder eine Anwendung gebunden. Es ändert sich nicht aufgrund eines Dienst- oder Systemneustarts. Standardmäßig verwendet SQL Server die statische TCP-Portnummer 1433 für die Standardinstanz MSSQLSERVER. Wenn Sie SQL Server so konfigurieren, dass ein anderer statischer Port als der Standardport verwendet wird, sollten Sie ihn den Clients oder Anwendungseigentümern mitteilen, um ihn in der Verbindungszeichenfolge anzugeben.
- Dynamischer Port: Sie können SQL Server für die Verwendung eines konfigurieren dynamischer Port. Wenn Sie die dynamische Portzuweisung verwenden, geben Sie in der Netzwerkkonfiguration die Portnummer Null an. Nach dem Neustart von SQL Service fordert es eine freie Portnummer vom Betriebssystem an und weist diesen Port SQL Server zu.
Wie Sie wissen, verwendet die Anwendung eine Kombination aus SQL Server-IP-Adresse und Portnummer. Möglicherweise stellen Sie sich die Frage: Woher kennt eine Anwendung die Portnummer für die Verbindung mit SQL Server?
Sobald das Betriebssystem SQL Server einen dynamischen SQL Server-Port zuweist, schreibt es diese Portnummer in die Windows-Registrierung. Der SQL Server-Browserdienst verwendet den statischen UDP-Port 1434. Er liest die Registrierung für den zugewiesenen TCP-Port. Die SQL Server-Clientbibliothek stellt über Port 1434 eine Verbindung her und sendet eine UDP-Nachricht. Der SQL Server-Browserdienst gibt die Portnummer einer bestimmten Instanz zurück. Eine Anwendung kann über diesen dynamischen SQL Server-Port eine Verbindung zu SQL Server herstellen. Die SQL Server-Standardinstanz verwendet den statischen Port. Daher gibt der SQL Server-Browser keinen Port für die Standardinstanz zurück.
In den meisten Fällen verwendet SQL Server beim Neustart des SQL-Dienstes dieselbe Dynamik wie der SQL Server-Port. Angenommen, Sie haben SQL Services gestoppt und das Betriebssystem hat die dynamische Portnummer (zuvor SQL zugewiesen) einem anderen Dienst zugewiesen. SQL Server erhält einen anderen dynamischen Port zugewiesen.
Der SQL Browser-Dienst ist für die genannten Instanzen mit dynamischer Portzuweisung unerlässlich . Es sollte sich im laufenden Status befinden, damit die Anwendung die Portdetails abfragen und abrufen kann.
Überprüfen der SQL Server-Portnummer
In diesem Abschnitt wird eine andere Methode zum Überprüfen der SQL Server-Portnummer überprüft.
Methode 1: SQL Server Configuration Manager:
Dies ist die häufigste Methode zum Ermitteln der SQL Server-Portnummer.
- Schritt 1:
Öffnen Sie SQL Server Configuration Manager über das Startmenü. Wenn Sie mehrere SQL Server-Versionen haben, wird beim Öffnen von SQL Server Configuration Manager möglicherweise eine Fehlermeldung angezeigt:
Es kann keine Verbindung zum WMI-Anbieter hergestellt werden. Sie haben keine Berechtigung oder der Server ist nicht erreichbar.
Um dies zu beheben, öffnen Sie die administrative Eingabeaufforderung und führen Sie den folgenden Befehl aus:
1> mofcomp „% -Programmdateien (x86 )% \ Microsoft SQL Server \ 150 \ Shared \ sqlmgmproviderxpsp2up.mof „Ändern Sie in diesem Befehl die SQL Server-Version
- SQL 2008 – 100
- SQL 2012 – 110
- SQL 2014 – 120
- SQL2016 – 130
- SQL 2017 – 140
- SQL 2019 – 150
- Schritt 2:
Gehen Sie zur Netzwerkkonfiguration und klicken Sie auf die SQL-Instanz, für die Sie den SQL-Port überprüfen möchten
- Schritt 3:
Es wird die Protokollliste geöffnet. Klicken Sie mit der rechten Maustaste auf TCP / IP und Eigenschaften.
- Schritt 4: Klicken Sie auf IP-Adressen und scrollen Sie nach unten zu IPAll Gruppe. Sie können die dynamischen TCP-SQL-Ports und den TCP-Port im folgenden Screenshot sehen.
Der Wert für dynamische TCP-Ports zeigt, dass wir die Konfiguration für dynamische Ports verwenden. Der aktuell zugewiesene dynamische TCP-SQL-Port ist 51688.
Wenn Sie einen statischen Port verwenden möchten, entfernen Sie den Wert für den dynamischen Port und geben Sie einen statischen Port im TCP-Port an. Diese Portnummer sollte eindeutig sein und nicht von anderen Anwendungen verwendet werden. Sie müssen SQL Services neu starten, damit diese Änderung wirksam wird.
- Hinweis: Sie sollten die SQL Server-Portkonfiguration nur mit dem SQL Server-Konfigurationsmanager ändern.
Methode 2: SQL Server-Fehlerprotokolle:
SQL Server protokolliert bei jedem Neustart von SQL einen Eintrag in den SQL Server-Fehlerprotokollen Dienstleistungen. Wir können die erweiterte gespeicherte Prozedur xp_readerrorlog verwenden, um das Fehlerprotokoll mit einem bestimmten Schlüsselwort zu filtern.
Die folgende Abfrage verwendet die erweiterte gespeicherte Prozedur xp_readerrorlog, um dies zu überprüfen Der Server lauscht auf ein Schlüsselwort.
1
2
3
|
EXEC xp_ReadErrorLog 0, 1, N „Server lauscht“, N „any“, NULL, NULL, „DESC“
GO
|
Sie erhalten Details zum SQL Server-Port, an dem die aktuelle SQL Server-Instanz konfiguriert ist.
- Hinweis: Wenn Sie regelmäßig Fehlerprotokolle recyceln, können Sie den SQL Server-Port mit dieser Methode möglicherweise nicht finden.
Methode 3: Abrufen des SQL Server-Ports aus der Registrierung mithilfe von xp_instance_regread:
Wir können eine erweiterte gespeicherte Prozedur verwenden, um den SQL Port-Wert abzurufen. Führen Sie den folgenden Code in SSMS aus, um einen dynamischen Port für die aktuell verbundene SQL-Instanz abzurufen.
Wir können @ Value_name = TcpPort verwenden, um Details zum statischen Port abzurufen.
Methode 4: SQL Server-Port von sys.dm_exec_connections DMV abrufen:
Mit sys.dm_exec_connections DMV können Sie den TCP-Port der verbundenen SQL Server-Instanz überprüfen. Wir verwenden die Variable @@ SPID, um die aktuelle Sitzungs-SP-ID zurückzugeben.
1
2
3
4
|
SELECT local_tcp_port
FROM sys. dm_exec_connections
WHERE session_id = @@ SPID;
GO
|
Methode 5: SQL Server-Port mithilfe der Windows-Ereignisanzeige abrufen:
Wir können auch die Windows-Ereignisanzeige verwenden, um nach SQL zu suchen Server-Port-Details. Nach dem Neustart von SQL Services erhält die Windows-Ereignisanzeige auch einen Eintrag für den SQL-Port. Die Windows-Ereignisanzeige enthält möglicherweise eine große Anzahl von Ereignissen. Es ist besser, Ereignisprotokolle nach der Ereignis-ID 26022 zu filtern.
Gehen Sie zu Ausführen und geben Sie eventvwr ein. Es öffnet die Windows Event Viewer-Konsole. Klicken Sie auf – Aktuelles Protokoll filtern.
Geben Sie die Ereignis-ID 26022 an und klicken Sie auf OK
Die Ereignisanzeige zeigt Ereignisse für alle auf den Servern installierten SQL Server an. Sie können nach einer bestimmten Instanz suchen und nach der Portnummer suchen.
Sie können auch eine bestimmte SQL-Instanz in der Dropdown-Liste der Ereignisquellen auswählen.
Im folgenden Screenshot sehen wir einen Eintrag des SQL Server-Ports in der Windows-Ereignisanzeige.
Schlussfolgerung
In diesem Artikel haben wir Methoden zum Überprüfen von SQL Server-Ports und zum Ändern der statischen und dynamischen Portkonfiguration untersucht und identifiziert. Wenn Sie Kommentare oder Fragen haben, können Sie diese gerne in den Kommentaren unten hinterlassen.
- Autor
- Letzte Beiträge
Mit seiner 50-teiligen Serie zu SQL Server Always On Availability Groups ist er der Schöpfer einer der größten kostenlosen Online-Artikelsammlungen zu einem einzigen Thema. Aufgrund seines Beitrags zur SQL Server-Community wurde er mit verschiedenen Preisen ausgezeichnet, darunter der renommierte „Beste Autor des Jahres“ in den Jahren 2020 und 2021 bei SQLShack.
Raj ist immer an neuen Herausforderungen interessiert, wenn Sie also Beratung benötigen Hilfe zu jedem Thema, das in seinen Schriften behandelt wird, kann unter rajendra.gupta16@gmail erreicht werden.com
Alle Beiträge von Rajendra Gupta anzeigen
- Sitzungszeitlimits in SQL Server-Gruppen, die immer verfügbar sind – 8. Februar 2021
- Durchführen kleinerer und größerer Versions-Upgrades für AWS RDS SQL Server – 29. Januar 2021
- Bereitstellen von AWS RDS PostgreSQL-Instanzen – 27. Januar 2021