여러 TCP 포트에서 수신하도록 데이터베이스 엔진 구성

적용 대상:SQL Server

이 항목에서는 SQL Server 구성 관리자를 사용하여 SQL Server의 여러 TCP 포트에서 수신하도록 데이터베이스 엔진을 구성하는 방법을 설명합니다. SQL Server에 대해 TCP/IP를 사용하도록 설정하면, 데이터베이스 엔진 IP 주소 및 TCP 포트 번호로 구성된 연결점에서 들어오는 연결을 수신합니다. 다음 절차에서는 SQL Server가 추가 TCP 포트에서 수신하도록 TDS(Tabular Data Stream) 엔드포인트를 만듭니다.

두 번째 TDS 엔드포인트를 만들어야 하는 이유는 다음과 같습니다.

  • 특정 서브넷의 로컬 클라이언트 컴퓨터에 대한 기본 엔드포인트로의 액세스를 제한하도록 방화벽을 구성하여 보안을 강화합니다. 방화벽이 인터넷에 노출하는 새 엔드포인트를 만들고 이 엔드포인트에 대한 연결 권한을 서버 지원 팀으로 제한하여 SQL Server에 대한 지원 팀의 인터넷 액세스를 유지 관리합니다.

  • NUMA(Non-Uniform Memory Access)를 사용할 때 특정 프로세서에 대한 연결의 선호도를 설정합니다.

TDS 엔드포인트를 구성하는 프로세스는 순서에 관계없이 수행할 수 있는 다음 단계로 이루어집니다.

  • TCP 포트에 대한 TDS 엔드포인트를 만들고, 적절한 경우 기본 엔드포인트에 대한 액세스를 복원합니다.

  • 적절한 서버 보안 주체에 엔드포인트에 대한 액세스 권한을 부여합니다.

  • 선택한 IP 주소에 대해 TCP 포트 번호를 지정합니다.

기본 Windows 방화벽 설정 방법과 데이터베이스 엔진, Analysis Services, Reporting Services 및 Integration Services에 영향을 주는 TCP 포트에 대한 설명은 SQL Server 액세스를 허용하도록 Windows 방화벽 구성을 참조하세요.

TDS 엔드포인트를 만들려면

  • 다음 문을 실행하여 서버에서 사용 가능한 모든 TCP 주소마다 포트 1500에 대해 CustomConnection이라는 엔드포인트를 만듭니다.

    USE master;  
    GO  
    CREATE ENDPOINT [CustomConnection]  
    STATE = STARTED  
    AS TCP  
       (LISTENER_PORT = 1500, LISTENER_IP =ALL)  
    FOR TSQL() ;  
    GO  
    

새로운 Transact-SQL 엔드포인트를 만들 때 public에 대한 연결 권한은 기본 TDS 엔드포인트에 대해 취소됩니다. 기본 엔드포인트에 공개 그룹에 대한 액세스가 필요한 경우 GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] to [public]; 문을 사용하여 이 권한을 다시 적용합니다.

엔드포인트 액세스 권한을 부여하려면

  • 다음 문을 실행하여 corp 도메인의 SQLSupport 그룹에 CustomConnection 엔드포인트에 대한 액세스 권한을 부여합니다.

    GRANT CONNECT ON ENDPOINT::[CustomConnection] to [corp\SQLSupport] ;  
    GO  
    

추가 TCP 포트에서 수신 대기하도록 SQL Server 데이터베이스 엔진을 구성하려면

  1. SQL Server 구성 관리자에서 SQL Server 네트워크 구성을 확장한 다음, <instance_name>에 대한 프로토콜을 클릭합니다.

  2. <instance_name>에 대한 프로토콜을 확장한 다음, TCP/IP를 클릭합니다.

  3. 오른쪽 창에서 사용하도록 설정할 비활성화된 각 IP 주소를 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.

  4. IPAll을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  5. TCP 포트 상자에 데이터베이스 엔진이 수신 대기할 포트를 쉼표로 구분하여 입력합니다. 이 예에서 기본 포트 1433이 나열된 경우 상자의 값이 1433,1500이 되도록 1500을 입력한 다음 확인을 클릭합니다.

    참고 항목

    모든 IP 주소에서 포트를 사용하도록 설정하지 않을 경우, 원하는 주소에 대해서만 속성 상자에서 추가 포트를 구성합니다. 그런 다음 콘솔 창에서 TCP/IP를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 모두 수신 상자에서 아니요를 선택합니다.

  6. 왼쪽 창에서 SQL Server 서비스를 클릭하고

  7. 오른쪽 창에서 SQL Server<instance_name>을 마우스 오른쪽 단추로 클릭한 다음, 다시 시작을 클릭합니다.

    데이터베이스 엔진이 다시 시작되면, SQL Server가 수신 대기 중인 포트가 오류 로그에 나열됩니다.

새 엔드포인트에 연결하려면

  • 다음 문을 실행하여 신뢰할 수 있는 연결을 사용하고 사용자가 [corp\SQLSupport] 그룹의 구성원이라고 가정하면서 ACCT라는 서버에서 SQL Server의 기본 인스턴스의 CustomConnection 엔드포인트에 연결합니다.

    sqlcmd -SACCT,1500  
    

참고 항목

CREATE ENDPOINT(Transact-SQL)
DROP ENDPOINT(Transact-SQL)
GRANT 엔드포인트 사용 권한(Transact-SQL)
NUMA 노드에 TCP IP 포트 매핑(SQL Server)