Guide pratique pour case activée si SQL Server écoute sur un port dynamique ou statique

Cet article explique comment déterminer si votre SQL Server Microsoft nommé instance écoute sur un port dynamique par rapport à un port statique. Ces informations peuvent être utiles lorsque vous résolvez différents problèmes de connexion liés à SQL Server.

Par défaut, un SQL Server nommé instance est configuré pour écouter sur les ports dynamiques. Il obtient un port disponible auprès du système d’exploitation. Vous pouvez également configurer SQL Server instances nommées pour qu’elles démarrent à un port spécifique. Il s’agit d’un port statique. Pour plus d’informations sur les ports statiques et dynamiques dans le contexte de SQL Server, consultez Ports statiques et dynamiques.

Utilisez la procédure suivante pour déterminer si le SQL Server nommé instance écoute sur un port dynamique par rapport à un port statique.

Option 1 : Utiliser Gestionnaire de configuration SQL Server

  1. Dans Gestionnaire de configuration SQL Server, développez SQL Server Configuration réseau, Protocoles pour instance nom, puis double-cliquez sur TCP/IP.

  2. Dans Propriétés TCP/IP, sélectionnez Protocole.

  3. Vérifiez la valeur dans le paramètre Écouter tout . S’il est défini sur Oui, passez à l’étape 4. S’il est défini sur Non, passez à l’étape 6.

  4. Accédez à Adresses IP et faites défiler jusqu’au bas de la page Propriétés TCP/IP .

  5. Vérifiez les valeurs dans IP All et utilisez le tableau suivant pour déterminer si le instance nommé écoute sur un port dynamique ou statique.

    Ports dynamiques TCP Port TCP SQL Server instance utiliser des ports dynamiques ou statiques ?
    Vide Vide Ports dynamiques
    <Number> Vide Ports dynamiques : <Number> est le port dynamique sur lequel SQL Server écoute actuellement
    <Number1> <Number2> Écoute simultanée sur un port <Number1> dynamique et un port statique <Number2>
  6. Basculez vers adresses IP. Notez que plusieurs adresses IP apparaissent au format IP1, IP2, jusqu’à IP All. L’une de ces adresses IP est destinée à l’adaptateur de bouclage, 127.0.0.1. D’autres adresses IP s’affichent pour chaque adresse IP de l’ordinateur. (Vous verrez probablement les adresses IP4 et IP6.) Pour case activée si une adresse IP spécifique est configurée pour un port dynamique ou statique, utilisez le tableau suivant.

    Ports dynamiques TCP Port TCP SQL Server instance utiliser des ports dynamiques ou statiques ?
    Vide Vide Ports dynamiques
    <Number> Vide Ports dynamiques : <Number> est le port dynamique sur lequel SQL Server écoute actuellement.
    <Number1> <Number2> Écoute simultanée sur un port <Number1> dynamique et un port statique <Number2>

Remarque

La valeur 0 dans les ports dynamiques TCP indique que le instance nommé n’est pas en cours d’exécution et qu’il est configuré pour les ports dynamiques. Une fois que vous avez démarré le instance, le champ de valeur reflète le port dynamique que le instance utilise actuellement.

Option 2 : Utiliser PowerShell

  1. Exécutez le script suivant dans PowerShell ISE. La fenêtre Console affiche toutes les instances TCP/IP appropriées pour toutes vos instances de SQL Server (SQL Server 2014 à SQL Server 2019) actuellement installées sur le système.

    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. Dans la sortie, case activée la valeur dans la colonne ListenOnAllIPs pour votre SQL Server instance (reportez-vous à la valeur correspondante dans ServerInstance pour cette ligne). Si la valeur est définie sur 1, passez à l’étape 3. S’il est défini sur 0, passez à l’étape 4.

  3. Analysez la sortie d’une ligne qui a une entrée n’importe quelle adresse IP dans la colonne DisplayName pour votre instance, ou case activée les valeurs de TcpDynamicPorts et TcpPort pour la ligne. Utilisez ensuite le tableau suivant pour déterminer si le instance nommé écoute sur un port dynamique ou statique.

    Ports dynamiques TCP Port TCP SQL Server instance utiliser des ports dynamiques ou statiques ?
    Vide Vide Ports dynamiques
    <Number> Vide Ports dynamiques : <Number> le port dynamique sur lequel SQL écoute actuellement
    <Number1> <Number2> Écoute simultanée sur un port <Number1> dynamique et un port statique <Number2>
  4. Notez que plusieurs adresses IP apparaissent au format IP1, IP2, jusqu’à IP All. L’une de ces adresses IP est destinée à l’adaptateur de bouclage, 127.0.0.1. D’autres adresses IP s’affichent pour chaque adresse IP de l’ordinateur. (Vous verrez probablement les adresses IP4 et IP6.) Pour case activée si une adresse IP spécifique est configurée pour un port dynamique ou statique, utilisez le tableau suivant.

    Ports dynamiques TCP Port TCP SQL Server instance utiliser des ports dynamiques ou statiques ?
    Vide Vide Ports dynamiques
    <Number> Vide Ports dynamiques : <Number> est le port dynamique sur lequel SQL Server écoute actuellement.
    <Number1> <Number2> Écoute simultanée sur un port <Number1> dynamique et un port statique <Number2>

Remarque

La valeur 0 dans les ports dynamiques TCP indique que le instance nommé n’est pas en cours d’exécution et qu’il est configuré pour les ports dynamiques. Une fois que vous avez démarré le instance, le champ de valeur reflète le port dynamique que le instance utilise actuellement.

Voir aussi