Share via


Så här kontrollerar du om SQL Server lyssnar på en dynamisk port eller statisk port

Den här artikeln beskriver hur du avgör om din Microsoft SQL Server namngivna instans lyssnar på en dynamisk port jämfört med en statisk port. Den här informationen kan vara användbar när du felsöker olika anslutningsproblem som rör SQL Server.

Som standard konfigureras en SQL Server namngiven instans för att lyssna på dynamiska portar. Den hämtar en tillgänglig port från operativsystemet. Du kan också konfigurera SQL Server namngivna instanser så att de startar vid en specifik port. Detta kallas för en statisk port. Mer information om statiska och dynamiska portar i kontexten för SQL Server finns i Statiska eller dynamiska portar.

Använd följande procedur för att avgöra om den SQL Server namngivna instansen lyssnar på en dynamisk port jämfört med en statisk port.

Alternativ 1: Använd Konfigurationshanteraren för SQL Server

  1. I Konfigurationshanteraren för SQL Server expanderar du SQL Server Nätverkskonfiguration, expanderar Protokoll för instansnamn och dubbelklickar sedan på TCP/IP.

  2. I TCP/IP-egenskaper väljer du Protokoll.

  3. Kontrollera värdet i inställningen Lyssna alla . Om den är inställd på Ja går du till steg 4. Om den är inställd på Nej går du till steg 6.

  4. Gå till IP-adresser och bläddra längst ned på sidan TCP/IP-egenskaper .

  5. Kontrollera värdena i IP All och använd följande tabell för att avgöra om den namngivna instansen lyssnar på en dynamisk eller statisk port.

    Dynamiska TCP-portar TCP-port SQL Server instans med dynamiska eller statiska portar?
    Tom Tom Dynamiska portar
    <Number> Tom Dynamiska portar – <Number> är den dynamiska port som SQL Server lyssnar på
    <Number1> <Number2> Lyssnar samtidigt på en dynamisk port <Number1> och en statisk port <Number2>
  6. Växla till IP-adresser. Observera att flera IP-adresser visas i formatet IP1, IP2, upp till IP All. En av dessa IP-adresser är avsedd för loopback-adaptern 127.0.0.1. Fler IP-adresser visas för varje IP-adress på datorn. (Du ser förmodligen både IP4- och IP6-adresser.) Använd följande tabell för att kontrollera om en specifik IP-adress har konfigurerats för en dynamisk eller statisk port.

    Dynamiska TCP-portar TCP-port SQL Server instans med dynamiska eller statiska portar?
    Tom Tom Dynamiska portar
    <Number> Tom Dynamiska portar – <Number> är den dynamiska port som SQL Server för närvarande lyssnar på.
    <Number1> <Number2> Lyssnar samtidigt på en dynamisk port <Number1> och en statisk port <Number2>

Obs!

Värdet 0 i dynamiska TCP-portar anger att den namngivna instansen för närvarande inte körs och är konfigurerad för dynamiska portar. När du har startat instansen återspeglar värdefältet den dynamiska port som instansen använder för närvarande.

Alternativ 2: Använd PowerShell

  1. Kör följande skript i PowerShell ISE. Konsolfönstret visar all relevant TCP/IP för alla dina SQL Server-instanser (SQL Server 2014 till och med SQL Server 2019) som för närvarande är installerade i systemet.

    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
    
  2. I utdata kontrollerar du värdet i kolumnen ListenOnAllIPs för din SQL Server instans (se motsvarande värde i ServerInstance för den raden). Om värdet är inställt på 1 går du till steg 3. Om det är inställt på 0 går du till steg 4.

  3. Sök igenom utdata efter en rad som har en alla IP-adressposter i kolumnen DisplayName för din instans, eller kontrollera värdena för TcpDynamicPorts och TcpPort för raden. Använd sedan följande tabell för att avgöra om den namngivna instansen lyssnar på en dynamisk eller statisk port.

    Dynamiska TCP-portar TCP-port SQL Server instans med dynamiska eller statiska portar?
    Tom Tom Dynamiska portar
    <Number> Tom Dynamiska portar – <Number> är den dynamiska port som SQL för närvarande lyssnar på
    <Number1> <Number2> Lyssnar samtidigt på en dynamisk port <Number1> och en statisk port <Number2>
  4. Observera att flera IP-adresser visas i formatet IP1, IP2, upp till IP All. En av dessa IP-adresser är avsedd för loopback-adaptern 127.0.0.1. Fler IP-adresser visas för varje IP-adress på datorn. (Du ser förmodligen både IP4- och IP6-adresser.) Använd följande tabell för att kontrollera om en specifik IP-adress har konfigurerats för en dynamisk eller statisk port.

    Dynamiska TCP-portar TCP-port SQL Server instans med dynamiska eller statiska portar?
    Tom Tom Dynamiska portar
    <Number> Tom Dynamiska portar – <Number> är den dynamiska port som SQL Server för närvarande lyssnar på.
    <Number1> <Number2> Lyssnar samtidigt på en dynamisk port <Number1> och en statisk port <Number2>

Obs!

Värdet 0 i dynamiska TCP-portar anger att den namngivna instansen för närvarande inte körs och är konfigurerad för dynamiska portar. När du har startat instansen återspeglar värdefältet den dynamiska port som instansen använder för närvarande.

Se även