Überprüfen, ob SQL Server einen dynamischen oder statischen Port überwachen
In diesem Artikel wird erläutert, wie Sie ermitteln, ob Ihre Microsoft SQL Server benannte Instanz einen dynamischen Port im Vergleich zu einem statischen Port lauscht. Diese Informationen können hilfreich sein, wenn Sie verschiedene Verbindungsprobleme im Zusammenhang mit SQL Server behandeln.
Standardmäßig ist eine SQL Server benannte Instanz so konfiguriert, dass dynamische Ports überwacht werden. Es ruft einen verfügbaren Port vom Betriebssystem ab. Sie können auch SQL Server benannten Instanzen so konfigurieren, dass sie an einem bestimmten Port beginnen. Dies wird als statischer Port bezeichnet. Weitere Informationen zu statischen und dynamischen Ports im Kontext von SQL Server finden Sie unter Static vs Dynamic Ports.
Verwenden Sie das folgende Verfahren, um zu ermitteln, ob die benannte SQL Server Instanz einen dynamischen Port im Vergleich zu einem statischen Port lauscht.
Option 1: Verwenden von SQL Server-Konfigurations-Manager
Erweitern Sie in SQL Server-Konfigurations-Manager SQL Server Netzwerkkonfiguration, erweitern Sie Protokolle für den Namen der Instanz, und doppelklicken Sie dann auf TCP/IP.
Wählen Sie in den TCP/IP-Eigenschaften "Protokoll" aus.
Überprüfen Sie den Wert in der Einstellung "Alle überwachen ". Wenn sie auf "Ja" festgelegt ist, fahren Sie mit Schritt 4 fort. Wenn sie auf "Nein" festgelegt ist, fahren Sie mit Schritt 6 fort.
Wechseln Sie zu IP-Adressen, und scrollen Sie zum Ende der Seite "TCP/IP-Eigenschaften ".
Überprüfen Sie die Werte in IP All, und verwenden Sie die folgende Tabelle, um zu ermitteln, ob die benannte Instanz einen dynamischen oder statischen Port lauscht.
Dynamische TCP-Ports TCP-Port SQL Server Instanz mit dynamischen oder statischen Ports? Leer Leer Dynamische Ports <Number>Leer Dynamische Ports – <Number>ist der dynamische Port, auf den SQL Server derzeit lauscht.<Number1><Number2>Gleichzeitiges Überwachen eines dynamischen Ports <Number1>und eines statischen Ports<Number2>Wechseln Sie zu IP-Adressen. Beachten Sie, dass mehrere IP-Adressen im Format IP1, IP2 bis IP All angezeigt werden. Eine dieser IP-Adressen ist für den Loopbackadapter 127.0.0.1 vorgesehen. Für jede IP-Adresse auf dem Computer werden weitere IP-Adressen angezeigt. (Wahrscheinlich werden sowohl IP4- als auch IP6-Adressen angezeigt.) Um zu überprüfen, ob eine bestimmte IP-Adresse für einen dynamischen oder statischen Port konfiguriert ist, verwenden Sie die folgende Tabelle.
Dynamische TCP-Ports TCP-Port SQL Server Instanz mit dynamischen oder statischen Ports? Leer Leer Dynamische Ports <Number>Leer Dynamische Ports – <Number>ist der dynamische Port, auf den SQL Server derzeit lauscht.<Number1><Number2>Gleichzeitiges Überwachen eines dynamischen Ports <Number1>und eines statischen Ports<Number2>
Hinweis
Der Wert "0 " in dynamischen TCP-Ports gibt an, dass die benannte Instanz derzeit nicht ausgeführt wird und für dynamische Ports konfiguriert ist. Nachdem Sie die Instanz gestartet haben, spiegelt das Wertfeld den dynamischen Port wider, den die Instanz derzeit verwendet.
Option 2: Verwenden von PowerShell
Führen Sie das folgende Skript im PowerShell-ISE aus. Im Konsolenfenster werden alle relevanten TCP/IP-Daten für alle Ihre SQL Server Instanzen (SQL Server 2014 bis SQL Server 2019) angezeigt, die derzeit auf dem System installiert sind.
clear Write-Host "SQL Server 2019" Write-Host "=====================" Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.*\MSSQLServer\SuperSocketNetLib\Tcp" | Select-Object -Property Enabled, KeepAlive, ListenOnAllIps,@{label='ServerInstance';expression={$_.PSPath.Substring(74)}} |Format-Table -AutoSize Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.*\MSSQLServer\SuperSocketNetLib\Tcp\IP*\" | Select-Object -Property TcpDynamicPorts,TcpPort,DisplayName, @{label='ServerInstance_and_IP';expression={$_.PSPath.Substring(74)}}, IpAddress |Format-Table -AutoSize Write-Host "SQL Server 2017" Write-Host "=====================" Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.*\MSSQLServer\SuperSocketNetLib\Tcp" | Select-Object -Property Enabled, KeepAlive, ListenOnAllIps,@{label='ServerInstance';expression={$_.PSPath.Substring(74)}} |Format-Table -AutoSize Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.*\MSSQLServer\SuperSocketNetLib\Tcp\IP*\" | Select-Object -Property TcpDynamicPorts,TcpPort, DisplayName, @{label='ServerInstance_and_IP';expression={$_.PSPath.Substring(74)}}, IpAddress |Format-Table -AutoSize Write-Host "SQL Server 2016" Write-Host "=====================" Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.*\MSSQLServer\SuperSocketNetLib\Tcp" | Select-Object -Property Enabled, KeepAlive, ListenOnAllIps,@{label='ServerInstance';expression={$_.PSPath.Substring(74)}} |Format-Table -AutoSize Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.*\MSSQLServer\SuperSocketNetLib\Tcp\IP*\" | Select-Object -Property TcpDynamicPorts,TcpPort, DisplayName, @{label='ServerInstance_and_IP';expression={$_.PSPath.Substring(74)}}, IpAddress |Format-Table -AutoSize Write-Host "SQL Server 2014" Write-Host "=====================" Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.*\MSSQLServer\SuperSocketNetLib\Tcp" | Select-Object -Property Enabled, KeepAlive, ListenOnAllIps,@{label='ServerInstance';expression={$_.PSPath.Substring(74)}} |Format-Table -AutoSize Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.*\MSSQLServer\SuperSocketNetLib\Tcp\IP*\" | Select-Object -Property TcpDynamicPorts,TcpPort, DisplayName, @{label='ServerInstance_and_IP';expression={$_.PSPath.Substring(74)}}, IpAddress |Format-Table -AutoSizeÜberprüfen Sie in der Ausgabe den Wert in der ListenOnAllIPs-Spalte für Ihre SQL Server Instanz (siehe den entsprechenden Wert in "ServerInstance" für diese Zeile). Wenn der Wert auf 1 festgelegt ist, fahren Sie mit Schritt 3 fort. Wenn der Wert auf 0 festgelegt ist, fahren Sie mit Schritt 4 fort.
Überprüfen Sie die Ausgabe nach einer Zeile, die einen Eintrag " Any IP Address " in der Spalte "DisplayName" für Ihre Instanz enthält, oder überprüfen Sie die Werte von "TcpDynamicPorts " und "TcpPort " für die Zeile. Verwenden Sie dann die folgende Tabelle, um zu ermitteln, ob die benannte Instanz auf einem dynamischen oder statischen Port lauscht.
Dynamische TCP-Ports TCP-Port SQL Server Instanz mit dynamischen oder statischen Ports? Leer Leer Dynamische Ports <Number>Leer Dynamische Ports – <Number>ist der dynamische Port, auf den SQL derzeit lauscht<Number1><Number2>Gleichzeitiges Überwachen eines dynamischen Ports <Number1>und eines statischen Ports<Number2>Beachten Sie, dass mehrere IP-Adressen im Format IP1, IP2 bis IP All angezeigt werden. Eine dieser IP-Adressen ist für den Loopbackadapter 127.0.0.1 vorgesehen. Für jede IP-Adresse auf dem Computer werden weitere IP-Adressen angezeigt. (Wahrscheinlich werden sowohl IP4- als auch IP6-Adressen angezeigt.) Um zu überprüfen, ob eine bestimmte IP-Adresse für einen dynamischen oder statischen Port konfiguriert ist, verwenden Sie die folgende Tabelle.
Dynamische TCP-Ports TCP-Port SQL Server Instanz mit dynamischen oder statischen Ports? Leer Leer Dynamische Ports <Number>Leer Dynamische Ports – <Number>ist der dynamische Port, auf den SQL Server derzeit lauscht.<Number1><Number2>Gleichzeitiges Überwachen eines dynamischen Ports <Number1>und eines statischen Ports<Number2>
Hinweis
Der Wert "0 " in dynamischen TCP-Ports gibt an, dass die benannte Instanz derzeit nicht ausgeführt wird und für dynamische Ports konfiguriert ist. Nachdem Sie die Instanz gestartet haben, spiegelt das Wertfeld den dynamischen Port wider, den die Instanz derzeit verwendet.