SQLShack (한국어)

이 문서는 SQL Server 관리 초보자에게 유용합니다. 현재 구성된 포트를 식별하는 방법 인 SQL Server 포트에 대한 통찰력을 제공합니다.

소개

포트를 통신 목적의 서비스 끝점으로 정의 할 수 있습니다. 특정 애플리케이션이나 서비스에 바인딩 될 수 있습니다. SQL Server를 설치하면 SQL Server 서비스에 대한 기본 포트를 구성합니다. 각 클라이언트 응용 프로그램은 IP 주소와 포트 번호의 조합을 사용하여 SQL Server에 연결합니다.

SQL Server에는 두 종류의 SQL Server 포트가있을 수 있습니다.

  1. 고정 포트 : 정적 포트는 항상 서비스 또는 애플리케이션에 바인딩됩니다. 서비스 또는 시스템 재시작으로 인해 변경되지 않습니다. 기본적으로 SQL Server는 기본 인스턴스 MSSQLSERVER에 대해 정적 TCP 포트 번호 1433을 사용합니다. 기본 포트가 아닌 정적 포트를 사용하도록 SQL Server를 구성하는 경우 클라이언트 또는 응용 프로그램 소유자에게 전달하여 연결 문자열에 지정해야합니다.
  2. 동적 포트 : 동적 포트. 동적 포트 할당을 사용하는 경우 네트워크 구성에서 포트 번호 0을 지정합니다. SQL 서비스가 다시 시작되면 운영 체제에서 사용 가능한 포트 번호를 요청하고 해당 포트를 SQL Server에 할당합니다.

    아시다시피 응용 프로그램은 SQL Server IP 주소와 포트 번호의 조합을 사용합니다. 응용 프로그램이 SQL Server에 연결하기위한 포트 번호를 어떻게 알 수 있습니까?

운영 체제가 동적 SQL Server 포트를 SQL Server에 할당하면 Windows 레지스트리에 해당 포트 번호를 기록합니다. SQL Server Browser 서비스는 UDP 정적 포트 1434를 사용합니다. 할당 된 TCP 포트에 대한 레지스트리를 읽습니다. SQL Server 클라이언트 라이브러리는 포트 1434를 사용하여 UDP 메시지를 연결하고 보냅니다. SQL Server Browser 서비스는 특정 인스턴스의 포트 번호를 반환합니다. 응용 프로그램은 해당 동적 SQL Server 포트를 사용하여 SQL Server에 연결할 수 있습니다. SQL Server 기본 인스턴스는 정적 포트를 사용합니다. 따라서 SQL Server Browser는 기본 인스턴스에 대한 포트를 반환하지 않습니다.

대부분의 경우 SQL Server는 SQL 서비스를 다시 시작할 때도 동일한 동적 SQL Server 포트를 사용합니다. SQL 서비스를 중지하고 운영 체제가 동적 포트 번호 (이전에 SQL에 할당 됨)를 다른 서비스에 할당했다고 가정하면 SQL Server에 또 다른 동적 포트가 할당됩니다.

동적 포트 할당이있는 명명 된 인스턴스에는 SQL 브라우저 서비스가 필수적입니다. . 응용 프로그램이 포트 세부 정보를 쿼리하고 가져 오려면 실행 상태 여야합니다.

SQL Server 포트 번호 확인

이 섹션에서는 SQL Server 포트 번호를 확인하는 다른 방법을 확인합니다.

방법 1 : SQL Server 구성 관리자 :

SQL Server 포트 번호를 찾는 가장 일반적인 방법입니다.

  • 1 단계 :

    시작 메뉴에서 SQL Server 구성 관리자를 엽니 다. SQL Server 버전이 여러 개인 경우 SQL Server 구성 관리자를 여는 동안 오류 메시지가 표시 될 수 있습니다.

    WMI 공급자에 연결할 수 없습니다. 권한이 없거나 서버에 연결할 수 없습니다.

    문제를 해결하려면 관리 명령 프롬프트를 열고 다음 명령을 실행하십시오.

    1

    > mofcomp “% programfiles (x86 ) % \ Microsoft SQL Server \ 150 \ Shared \ sqlmgmproviderxpsp2up.mof “

    이 명령에서 SQL Server 버전 변경

    • SQL 2008 – 100
    • SQL 2012 – 110
    • SQL 2014 – 120
    • SQL2016 – 130
    • SQL 2017 – 140
    • SQL 2019 – 150

  • 2 단계 :

    네트워크 구성으로 이동하여 SQL 포트를 확인하려는 SQL 인스턴스를 클릭합니다.

  • 3 단계 :

    프로토콜 목록이 열립니다. TCP / IP 및 속성을 마우스 오른쪽 버튼으로 클릭

  • 4 단계 : IP 주소를 클릭하고 아래로 스크롤하여 IPAll 그룹. 다음 스크린 샷에서 TCP 동적 SQL 포트와 TCP 포트를 볼 수 있습니다.

    TCP 동적 포트 값은 동적 포트 구성을 사용하고 있음을 나타냅니다. 현재 할당 된 TCP 동적 SQL 포트는 51688입니다.

    정적 포트를 사용하려면 동적 포트 값을 제거하고 TCP 포트에 고정 포트를 지정합니다. 이 포트 번호는 고유해야하며 다른 응용 프로그램에서 사용하지 않아야합니다. 이 변경 사항을 적용하려면 SQL 서비스를 다시 시작해야합니다.

    • 참고 : SQL Server 구성 관리자 만 사용하여 SQL Server 포트 구성을 변경해야합니다.

방법 2 : SQL Server 오류 로그 :

SQL Server는 SQL을 다시 시작할 때마다 SQL Server 오류 로그에 항목을 기록합니다. 서비스. 확장 저장 프로 시저 xp_readerrorlog를 사용하여 특정 키워드를 사용하여 오류 로그를 필터링 할 수 있습니다.

다음 쿼리는 확장 저장 프로 시저 xp_readerrorlog를 사용하여 확인합니다. 서버에서 키워드를 수신합니다.

1
2
3

EXEC xp_ReadErrorLog 0, 1, N “서버가 수신 대기 중”, N “any”, NULL, NULL, “DESC”
이동

현재 SQL Server 인스턴스가 구성된 SQL Server 포트의 세부 정보를 확인할 수 있습니다.

  • 참고 : 오류 로그를 정기적으로 재활용하는 경우이 방법을 사용하여 SQL Server 포트를 찾지 못할 수 있습니다.

방법 3 : xp_instance_regread를 사용하여 레지스트리에서 SQL Server 포트 가져 오기 :

확장 저장 프로 시저를 사용하여 SQL 포트 값을 가져올 수 있습니다. SSMS에서 다음 코드를 실행하여 현재 연결된 SQL 인스턴스에 대한 동적 포트를 가져옵니다.

@ Value_name = TcpPort를 사용하여 정적 포트에 대한 세부 정보를 얻을 수 있습니다.

방법 4 : sys.dm_exec_connections DMV를 사용하여 SQL Server 포트 가져 오기 :

sys.dm_exec_connections DMV를 사용하여 연결된 SQL Server 인스턴스의 TCP 포트를 확인할 수 있습니다. @@ SPID 변수를 사용하여 현재 세션 SP ID를 반환합니다.

1
2
3
4

SELECT local_tcp_port
from sys. dm_exec_connections
WHERE session_id = @@ SPID;
GO

방법 5 : Windows 이벤트 뷰어를 사용하여 SQL Server 포트 가져 오기 :

Windows 이벤트 뷰어를 사용하여 SQL을 확인할 수도 있습니다. 서버 포트 세부 사항. SQL 서비스를 다시 시작하면 Windows 이벤트 뷰어도 SQL 포트에 대한 항목을 가져옵니다. Windows 이벤트 뷰어에는 많은 이벤트가있을 수 있습니다. 이벤트 ID 26022에 대한 이벤트 로그를 필터링하는 것이 좋습니다.

실행으로 이동하여 eventvwr을 입력합니다. Windows 이벤트 뷰어 콘솔이 열립니다. – 현재 로그 필터링을 클릭합니다.

이벤트 ID 26022를 지정하고 확인을 클릭합니다.

이벤트 뷰어는 서버에 설치된 모든 SQL Server에 대한 이벤트를 표시합니다. 특정 인스턴스를 찾고 포트 번호를 확인할 수 있습니다.

이벤트 소스의 드롭 다운 목록에서 특정 SQL 인스턴스를 선택할 수도 있습니다.

다음 스크린 샷에서 Windows 이벤트 뷰어에서 SQL Server 포트 항목을 볼 수 있습니다.

결론

이 기사에서는 SQL Server 포트를 확인하고 정적 및 동적 포트 구성을 변경하는 방법을 탐색하고 식별했습니다. 의견이나 질문이 있으시면 아래 의견에 남겨주세요.

  • 작성자
  • 최근 게시물
인도 구르 가온에서 MCSA 인증 및 Microsoft 인증 트레이너로서 13 년의 경력을 보유한 Rajendra는 성능 최적화, 모니터링, 고 가용성에 중점을 둔 다양한 대기업에서 근무합니다. , 재해 복구 전략 및 구현. 그는 SQL Server, Azure, MySQL, Linux, Power BI, 성능 조정, AWS / Amazon RDS, Git 및 현재까지 1,000 만 명이 넘는 독자가 시청 한 관련 기술에 대한 수백 개의 권위있는 기사의 저자입니다.
그는 SQL Server Always On 가용성 그룹에 대한 50 부작 시리즈를 통해 단일 주제에 대한 가장 큰 무료 온라인 기사 모음 중 하나를 작성했습니다. SQL Server 커뮤니티에 대한 공헌을 바탕으로 2020 년과 2021 년 SQLShack에서 지속적으로 권위있는 “올해의 최우수 저자”를 비롯한 다양한 상을 수상했습니다.
Raj는 항상 새로운 도전에 관심이 있으므로 컨설팅이 필요한 경우 그의 글에서 다루는 주제에 대한 도움이 필요하면 rajendra.gupta16@gmail로 연락 할 수 있습니다.com
Rajendra Gupta의 모든 게시물보기

Rajendra Gupta의 최신 게시물 (모두보기)
  • SQL Server Always On 가용성 그룹의 세션 시간 초과-2021 년 2 월 8 일
  • 다음에 대한 마이너 및 메이저 버전 업그레이드 수행 AWS RDS SQL Server-2021 년 1 월 29 일
  • AWS RDS PostgreSQL 인스턴스 배포-2021 년 1 월 27 일

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다