Controleren of SQL Server luistert op een dynamische of statische poort

In dit artikel wordt beschreven hoe u kunt bepalen of uw Microsoft SQL Server benoemde instantie luistert op een dynamische poort versus een statische poort. Deze informatie kan handig zijn bij het oplossen van verschillende verbindingsproblemen die betrekking hebben op SQL Server.

Standaard is een SQL Server benoemd exemplaar geconfigureerd om te luisteren op dynamische poorten. Het krijgt een beschikbare poort van het besturingssysteem. U kunt ook SQL Server benoemde exemplaren configureren om te beginnen bij een specifieke poort. Dit wordt een statische poort genoemd. Zie Statische versus dynamische poorten voor meer informatie over statische en dynamische poorten in de context van SQL Server.

Gebruik de volgende procedure om te bepalen of het SQL Server benoemde exemplaar luistert op een dynamische poort versus een statische poort.

Optie 1: gebruik SQL Server Configuration Manager

  1. Vouw in SQL Server Configuration ManagerSQL Server Netwerkconfiguratie uit, vouw Protocollen als exemplaarnaam uit en dubbelklik vervolgens op TCP/IP.

  2. Selecteer protocolin TCP/IP-eigenschappen.

  3. Controleer de waarde in de instelling Alles luisteren . Als deze is ingesteld op Ja, gaat u naar stap 4. Als deze is ingesteld op Nee, gaat u naar stap 6.

  4. Ga naar IP-adressen en schuif naar de onderkant van de pagina TCP/IP-eigenschappen .

  5. Controleer de waarden in IP All en gebruik de volgende tabel om te bepalen of het benoemde exemplaar luistert op een dynamische of statische poort.

    Dynamische TCP-poorten TCP-poort SQL Server exemplaar dynamische of statische poorten gebruikt?
    Lege Lege Dynamische poorten
    <Number> Lege Dynamische poorten: <Number> is de dynamische poort waarop SQL Server momenteel luistert
    <Number1> <Number2> Gelijktijdig luisteren op een dynamische poort <Number1> en een statische poort <Number2>
  6. Schakel over naar IP-adressen. U ziet dat verschillende IP-adressen worden weergegeven in de indeling IP1, IP2, tot IP All. Een van deze IP-adressen is bedoeld voor de loopback-adapter , 127.0.0.1. Er worden meer IP-adressen weergegeven voor elk IP-adres op de computer. (U ziet waarschijnlijk zowel IP4- als IP6-adressen.) Gebruik de volgende tabel om te controleren of een specifiek IP-adres is geconfigureerd voor een dynamische versus statische poort.

    Dynamische TCP-poorten TCP-poort SQL Server exemplaar dynamische of statische poorten gebruikt?
    Lege Lege Dynamische poorten
    <Number> Lege Dynamische poorten: <Number> is de dynamische poort waarop SQL Server momenteel luistert.
    <Number1> <Number2> Gelijktijdig luisteren op een dynamische poort <Number1> en een statische poort <Number2>

Opmerking

Een waarde van 0 in dynamische TCP-poorten geeft aan dat het benoemde exemplaar momenteel niet wordt uitgevoerd en is geconfigureerd voor dynamische poorten. Nadat u het exemplaar hebt gestart, geeft het waardeveld de dynamische poort weer die het exemplaar momenteel gebruikt.

Optie 2: PowerShell gebruiken

  1. Voer het volgende script uit in de PowerShell ISE. In het consolevenster worden alle relevante TCP/IP-adressen weergegeven voor al uw SQL Server exemplaren (SQL Server 2014 tot en met SQL Server 2019) die momenteel op het systeem zijn geïnstalleerd.

    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. Controleer in de uitvoer de waarde in de kolom ListenOnAllIPs voor uw SQL Server exemplaar (raadpleeg de bijbehorende waarde in ServerInstance voor die rij). Als de waarde is ingesteld op 1, gaat u naar stap 3. Als deze is ingesteld op 0, gaat u naar stap 4.

  3. Scan de uitvoer voor een rij met de vermelding Any IP Address in de kolom DisplayName voor uw exemplaar of controleer de waarden van TcpDynamicPorts en TcpPort voor de rij. Gebruik vervolgens de volgende tabel om te bepalen of het benoemde exemplaar luistert op een dynamische of statische poort.

    Dynamische TCP-poorten TCP-poort SQL Server exemplaar dynamische of statische poorten gebruikt?
    Lege Lege Dynamische poorten
    <Number> Lege Dynamische poorten: <Number> is de dynamische poort waarop SQL momenteel luistert
    <Number1> <Number2> Gelijktijdig luisteren op een dynamische poort <Number1> en een statische poort <Number2>
  4. U ziet dat verschillende IP-adressen worden weergegeven in de indeling IP1, IP2, tot IP All. Een van deze IP-adressen is bedoeld voor de loopback-adapter , 127.0.0.1. Er worden meer IP-adressen weergegeven voor elk IP-adres op de computer. (U ziet waarschijnlijk zowel IP4- als IP6-adressen.) Gebruik de volgende tabel om te controleren of een specifiek IP-adres is geconfigureerd voor een dynamische versus statische poort.

    Dynamische TCP-poorten TCP-poort SQL Server exemplaar dynamische of statische poorten gebruikt?
    Lege Lege Dynamische poorten
    <Number> Lege Dynamische poorten: <Number> is de dynamische poort waarop SQL Server momenteel luistert.
    <Number1> <Number2> Gelijktijdig luisteren op een dynamische poort <Number1> en een statische poort <Number2>

Opmerking

Een waarde van 0 in dynamische TCP-poorten geeft aan dat het benoemde exemplaar momenteel niet wordt uitgevoerd en is geconfigureerd voor dynamische poorten. Nadat u het exemplaar hebt gestart, geeft het waardeveld de dynamische poort weer die het exemplaar momenteel gebruikt.

Zie ook