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


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.