동적 포트는 언제 "동적"입니까?


23

나는 오늘 Dynamic Ports내 동료 중 한 명과 토론을 하고 있었으며 그들이 어떻게 작동하는지 명확히하는 데 도움을 줄 수있었습니다.

첫 번째 질문 : 경우 IPALL TCP Dynmaic Ports설정이 특정 번호 (1971 말)는 1971 정적 포트 또는 현재 1971이며, 미래의 어떤 시점에서 변경 될 수 있습니다 동적 포트를 가지고 그 의미를 않는 것입니다.

여기에 이미지 설명을 입력하십시오

두 번째 질문 : 이것이 제가 가장 궁금한 질문입니다. IPALL TCP Dynmaic Ports수십 번의 인스턴스 재시작을 통해 몇 년 동안 동일한 포트 ( 설정 값 )를 가진 인스턴스가 있습니다. 실제로 인스턴스가 다시 시작된 후 동적 포트가 실제로 변경되는 이유는 무엇입니까?

답변:


22

이 기사 : 특정 포트에서 수신 대기하도록 SQL Server를 구성하는 방법 은 다음과 같습니다.

동적 포트 할당

동적 포트 할당을 사용하도록 SQL Server 인스턴스를 구성하고 SQL Server 인스턴스를 아직 다시 시작하지 않은 경우 레지스트리 값은 다음과 같이 설정됩니다.

TCPDynamicPorts = 공백

TCPPort = 0

그러나 동적 포트 할당을 사용하도록 SQL Server 인스턴스를 구성하고 SQL Server 인스턴스를 다시 시작하면 레지스트리 값이 다음과 같이 설정됩니다.

TCPDynamicPorts = 사용되는 현재 포트

TCPPort = 사용되는 현재 포트

정적 포트 할당 :

정적 포트를 사용하도록 SQL Server 인스턴스를 구성하고 SQL Server 인스턴스를 아직 다시 시작하지 않은 경우 레지스트리 값은 다음과 같이 설정됩니다.

TCPDynamicPorts = 마지막으로 사용 된 포트

TCPPort = 다음에 다시 시작한 후 사용할 새 정적 포트. 서버 네트워크 유틸리티를 사용하여 설정 한 새 정적 포트

그러나 정적 포트를 사용하도록 SQL Server 인스턴스를 구성하고 SQL Server 인스턴스를 다시 시작하면 레지스트리 값이 다음과 같이 설정됩니다.

TCPDynamicPorts = 공백

TCPPort = 서버 네트워크 유틸리티를 사용하여 설정 한 새로운 정적 포트

두 번째 질문에 -

명명 된 SQLServer를 시작할 때마다 할당 된 포트를 사용합니다. 포트가 다른 프로그램 에서 사용되는 경우 SQL Server는 다시 시작할 때 다른 포트를 선택합니다. 즉, 동적 포트는 처음 시작할 때 선택되며 일반적으로 향후 다시 시작할 때 (레지스트리에 저장 됨)를 통해 동일하게 유지 됩니다. 다른 프로그램에서 사용하면 SQL Server는 새 포트를 선택합니다. 참고 : Prod Server의 경우 보안 및 관리 용이성 이유로 고정 포트만 사용합니다.

참고 : 더 멋진 점은 다음과 같습니다.

동적 포트가 사용 중인지 T-SQL을 사용하지 않는지 확인하십시오.

SELECT NAME
    ,protocol_desc
    ,type_desc
    ,state_desc
    ,is_admin_endpoint
    ,port
    ,is_dynamic_port
    ,ip_address
FROM sys.tcp_endpoints

여기에 이미지 설명을 입력하십시오

netstat -anocmdline을 사용 하여 확인할 수 있습니다 .

또한 클라이언트 측의 레지스트리에서 이전에 캐시 된 내용을 확인하여 SQL 서버에 연결하는 데 사용하는 포트를 확인할 수 있습니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI11.0\LastConnect

여기에 이미지 설명을 입력하십시오


고마워 그리고 그것은 매우 유용한 링크입니다! 동적 포트가 포트를 변경하는 원인을 알고 있습니까? Second question위의 질문에서 참조하십시오 .
— 케네스 피셔

@KennethFisher for your- second question명명 된 SQLServer를 시작할 때마다 할당 된 포트를 사용합니다. 다른 프로그램에서 포트를 사용하는 경우 SQL Server는 다시 시작할 때 다른 포트를 선택합니다. 동적 포트는 처음 시작시 선택되며 일반적으로 향후 다시 시작 (레지스트리에 저장 됨)을 통해 동일하게 유지되지만 다른 프로그램에서 사용하는 경우 SQL Server는 새 포트를 선택합니다. 참고 : Prod Server의 경우 보안 및 관리 용이성 이유로 고정 포트만 사용 합니다 .
— Kin Shah

정적 포트에서 작동하는 완전히 새로운 서비스 (SQL 서버 브라우저)를 구현할 가치가 있다고 생각하는 이유를 설명해 주시겠습니까? 이 포트가 사용되면 시작되지 않을 수 있습니다. 일부 다른 서비스가 포트를 사용하는 경우 너무 비싼 것은 아마도 가장 비싼 소프트웨어를 사용하기에는 어려울까요?
— kakaz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.