SQL Server 동적 포트 또는 정적 포트에서 수신 대기하는 경우 검사 방법

이 문서에서는 instance 라는 Microsoft SQL Server 동적 포트와 정적 포트에서 수신 대기하는지 여부를 확인하는 방법을 설명합니다. 이 정보는 SQL Server 관련된 다양한 연결 문제를 해결할 때 유용할 수 있습니다.

기본적으로 instance 라는 SQL Server 동적 포트에서 수신 대기하도록 구성됩니다. 운영 체제에서 사용 가능한 포트를 가져옵니다. 특정 포트에서 시작하도록 명명된 SQL Server 인스턴스를 구성할 수도 있습니다. 이를 정적 포트라고 합니다. SQL Server 컨텍스트의 정적 및 동적 포트에 대한 자세한 내용은 정적 포트와 동적 포트를 참조하세요.

다음 절차를 사용하여 instance 명명된 SQL Server 동적 포트와 정적 포트에서 수신 대기하는지 여부를 확인합니다.

옵션 1: SQL Server 구성 관리자 사용

  1. SQL Server 구성 관리자네트워크 구성 SQL Server 확장하고 instance 이름에 대한 프로토콜을 확장한 다음 TCP/IP를 두 번 클릭합니다.

  2. TCP/IP 속성에서 프로토콜을 선택합니다.

  3. 모두 수신 대기 설정에서 값을 확인합니다. 예로 설정된 경우 4단계로 이동합니다. 아니요로 설정된 경우 6단계로 이동합니다.

  4. IP 주소로 이동하고 TCP/IP 속성 페이지의 아래쪽으로 스크롤합니다.

  5. IP All의 값을 확인하고 다음 표를 사용하여 명명된 instance 동적 또는 정적 포트에서 수신 대기하는지 여부를 확인합니다.

    TCP 동적 포트 TCP 포트 동적 또는 정적 포트를 사용하는 SQL Server instance?
    Blank Blank 동적 포트
    <Number> Blank 동적 포트 - <Number> SQL Server 현재 수신 대기 중인 동적 포트입니다.
    <Number1> <Number2> 동적 포트 및 정적 포트 <Number1> 에서 동시에 수신 대기 <Number2>
  6. IP 주소로 전환합니다. 여러 IP 주소가 IP 1, IP2의 형식으로 IP All까지 표시됩니다. 이러한 IP 주소 중 하나는 루프백 어댑터 127.0.0.1을 위한 것입니다. 컴퓨터의 각 IP 주소에 대해 더 많은 IP 주소가 표시됩니다. (IP4 및 IP6 주소가 모두 표시될 수 있습니다.) 특정 IP 주소가 동적 포트와 정적 포트에 대해 구성되었는지 여부를 검사 하려면 다음 표를 사용합니다.

    TCP 동적 포트 TCP 포트 동적 또는 정적 포트를 사용하는 SQL Server instance?
    Blank Blank 동적 포트
    <Number> Blank 동적 포트 - <Number> SQL Server 현재 수신 대기 중인 동적 포트입니다.
    <Number1> <Number2> 동적 포트 및 정적 포트 <Number1> 에서 동시에 수신 대기 <Number2>

참고

TCP 동적 포트의 값이 0이면 명명된 instance 현재 실행되고 있지 않으며 동적 포트에 대해 구성되어 있음을 나타냅니다. instance 시작한 후 값 필드에는 instance 현재 사용 중인 동적 포트가 반영됩니다.

옵션 2: PowerShell 사용

  1. PowerShell ISE에서 다음 스크립트를 실행합니다. 콘솔 창에는 현재 시스템에 설치된 모든 SQL Server 인스턴스(SQL Server 2014~SQL Server 2019)에 대한 모든 관련 TCP/IP가 표시됩니다.

    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. 출력에서 SQL Server instance ListenOnAllIPs 열의 값을 검사(해당 행에 대한 ServerInstance의 해당 값 참조). 값이 1로 설정된 경우 3단계로 이동합니다. 0으로 설정된 경우 4단계로 이동합니다.

  3. DisplayName 열에 있는 모든 IP 주소 항목이 있는 행의 출력에서 instance 검사하거나 행에 대한 TcpDynamicPortsTcpPort 값을 검사. 그런 다음, 다음 표를 사용하여 명명된 instance 동적 또는 정적 포트에서 수신 대기하는지 여부를 확인합니다.

    TCP 동적 포트 TCP 포트 동적 또는 정적 포트를 사용하는 SQL Server instance?
    Blank Blank 동적 포트
    <Number> Blank 동적 포트 - <Number> SQL이 현재 수신 대기 중인 동적 포트입니다.
    <Number1> <Number2> 동적 포트 및 정적 포트 <Number1> 에서 동시에 수신 대기 <Number2>
  4. 여러 IP 주소가 IP 1, IP2의 형식으로 IP All까지 표시됩니다. 이러한 IP 주소 중 하나는 루프백 어댑터 127.0.0.1을 위한 것입니다. 컴퓨터의 각 IP 주소에 대해 더 많은 IP 주소가 표시됩니다. (IP4 및 IP6 주소가 모두 표시될 수 있습니다.) 특정 IP 주소가 동적 포트와 정적 포트에 대해 구성되었는지 여부를 검사 하려면 다음 표를 사용합니다.

    TCP 동적 포트 TCP 포트 동적 또는 정적 포트를 사용하는 SQL Server instance?
    Blank Blank 동적 포트
    <Number> Blank 동적 포트 - <Number> SQL Server 현재 수신 대기 중인 동적 포트입니다.
    <Number1> <Number2> 동적 포트 및 정적 포트 <Number1> 에서 동시에 수신 대기 <Number2>

참고

TCP 동적 포트의 값이 0이면 명명된 instance 현재 실행되고 있지 않으며 동적 포트에 대해 구성되어 있음을 나타냅니다. instance 시작한 후 값 필드에는 instance 현재 사용 중인 동적 포트가 반영됩니다.

참고 항목