Delen via


Controleren of SQL Server luistert op een dynamische poort of statische poort

In dit artikel wordt beschreven hoe u kunt bepalen of uw benoemde Exemplaar van Microsoft SQL Server 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. Er wordt een beschikbare poort opgehaald van het besturingssysteem. U kunt ook benoemde SQL Server-exemplaren configureren om te beginnen bij een specifieke poort. Dit wordt een statische poort genoemd. Zie Static vs Dynamic Ports voor meer informatie over statische en dynamische poorten in de context van SQL Server.

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

Optie 1: SQL Server Configuration Manager gebruiken

  1. Vouw in SQL Server Configuration Manager sql Server-netwerkconfiguratie uit, vouw protocollen voor de naam van het exemplaar uit en dubbelklik vervolgens op TCP/IP.

  2. Selecteer Protocol in TCP/IP-eigenschappen.

  3. Controleer de waarde in de instelling Alles luisteren. Als deze optie is ingesteld op Ja, gaat u naar stap 4. Als deze optie 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 met dynamische of statische poorten?
    Leeg Leeg Dynamische poorten
    <Number> Leeg 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. Overschakelen naar IP-adressen. U ziet dat verschillende IP-adressen worden weergegeven in de indeling IP1, IP2, maximaal 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. (Waarschijnlijk ziet u 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 met dynamische of statische poorten?
    Leeg Leeg Dynamische poorten
    <Number> Leeg 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>

Notitie

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 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 optie is ingesteld op 0, gaat u naar stap 4.

  3. Scan de uitvoer voor een rij met een IP-adresvermelding 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 met dynamische of statische poorten?
    Leeg Leeg Dynamische poorten
    <Number> Leeg 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, maximaal 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. (Waarschijnlijk ziet u 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 met dynamische of statische poorten?
    Leeg Leeg Dynamische poorten
    <Number> Leeg 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>

Notitie

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