Comment vérifier si SQL Server écoute sur un port dynamique ou un port statique
Cet article explique comment déterminer si votre instance nommée Microsoft SQL Server é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, une instance nommée SQL Server est configurée pour écouter sur les ports dynamiques. Il obtient un port disponible à partir du système d’exploitation. Vous pouvez également configurer des instances nommées SQL Server pour démarrer à 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 Static vs Dynamic Ports.
Utilisez la procédure suivante pour déterminer si l’instance nommée SQL Server écoute sur un port dynamique par rapport à un port statique.
Option 1 : Utiliser Gestionnaire de configuration SQL Server
Dans Gestionnaire de configuration SQL Server, développez Configuration réseau SQL Server, développez Protocoles pour le nom de l’instance, puis double-cliquez sur TCP/IP.
Dans Propriétés TCP/IP, sélectionnez Protocole.
Vérifiez la valeur dans le paramètre Écouter tout . S’il est défini sur Oui, accédez à l’étape 4. S’il est défini sur Non, accédez à l’étape 6.
Accédez aux adresses IP, puis faites défiler jusqu’au bas de la page Propriétés TCP/IP.
Vérifiez les valeurs dans IP All et utilisez le tableau suivant pour déterminer si l’instance nommée écoute sur un port dynamique ou statique.
Ports dynamiques TCP Port TCP Instance SQL Server utilisant des ports dynamiques ou statiques ? Vide Vide Ports dynamiques <Number>
Vide Ports dynamiques : <Number>
port dynamique sur lequel SQL Server écoute actuellement<Number1>
<Number2>
Écoute simultanée sur un port <Number1>
dynamique et un port statique<Number2>
Basculez vers les 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 sur l’ordinateur. (Vous verrez probablement les adresses IP4 et IP6.) Pour vérifier si une adresse IP spécifique est configurée pour un port dynamique ou statique, utilisez le tableau suivant.
Ports dynamiques TCP Port TCP Instance SQL Server utilisant des ports dynamiques ou statiques ? Vide Vide Ports dynamiques <Number>
Vide Ports dynamiques : <Number>
port dynamique sur lequel SQL Server écoute actuellement.<Number1>
<Number2>
Écoute simultanée sur un port <Number1>
dynamique et un port statique<Number2>
Note
La valeur 0 dans les ports dynamiques TCP indique que l’instance nommée n’est pas en cours d’exécution et est configurée pour les ports dynamiques. Une fois l’instance démarrée, le champ valeur reflète le port dynamique que l’instance utilise actuellement.
Option 2 : Utiliser PowerShell
Exécutez le script suivant dans PowerShell ISE. La fenêtre console affiche toutes les instances TCP/IP appropriées pour toutes vos instances 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
Dans la sortie, vérifiez la valeur dans la colonne ListenOnAllIPs de votre instance SQL Server (reportez-vous à la valeur correspondante dans ServerInstance pour cette ligne). Si la valeur est définie sur 1, accédez à l’étape 3. Si la valeur est 0, passez à l’étape 4.
Analysez la sortie d’une ligne qui a une entrée d’adresse IP quelconque dans la colonne DisplayName de votre instance, ou vérifiez les valeurs de TcpDynamicPorts et TcpPort pour la ligne. Utilisez ensuite le tableau suivant pour déterminer si l’instance nommée écoute sur un port dynamique ou statique.
Ports dynamiques TCP Port TCP Instance SQL Server utilisant des ports dynamiques ou statiques ? Vide Vide Ports dynamiques <Number>
Vide Ports dynamiques : <Number>
le port dynamique SQL écoute actuellement sur<Number1>
<Number2>
Écoute simultanée sur un port <Number1>
dynamique et un port statique<Number2>
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 sur l’ordinateur. (Vous verrez probablement les adresses IP4 et IP6.) Pour vérifier si une adresse IP spécifique est configurée pour un port dynamique ou statique, utilisez le tableau suivant.
Ports dynamiques TCP Port TCP Instance SQL Server utilisant des ports dynamiques ou statiques ? Vide Vide Ports dynamiques <Number>
Vide Ports dynamiques : <Number>
port dynamique sur lequel SQL Server écoute actuellement.<Number1>
<Number2>
Écoute simultanée sur un port <Number1>
dynamique et un port statique<Number2>
Note
La valeur 0 dans les ports dynamiques TCP indique que l’instance nommée n’est pas en cours d’exécution et est configurée pour les ports dynamiques. Une fois l’instance démarrée, le champ valeur reflète le port dynamique que l’instance utilise actuellement.