Windows 인증에 대한 데이터베이스 미러링 끝점 만들기(Transact-SQL)Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL)

이 항목에서는 SQL Server 2017SQL Server 2017 을 사용하여 Transact-SQLTransact-SQL에서 Windows 인증을 사용하는 데이터베이스 미러링 끝점을 만드는 방법에 대해 설명합니다.This topic describes how to create a database mirroring endpoint that uses Windows Authentication in SQL Server 2017SQL Server 2017 by using Transact-SQLTransact-SQL. 데이터베이스 미러링 또는 Always On 가용성 그룹Always On availability groups 을 지원하려면 SQL ServerSQL Server 의 각 인스턴스에 데이터베이스 미러링 끝점이 필요합니다.To support database mirroring or Always On 가용성 그룹Always On availability groups each instance of SQL ServerSQL Server requires a database mirroring endpoint. 서버 인스턴스는 하나의 포트가 있는 데이터베이스 미러링 끝점을 하나만 가질 수 있습니다.A server instance can have only one database mirroring endpoint, which has a single port. 데이터베이스 미러링 끝점은 끝점이 생성될 때 로컬 시스템에서 사용 가능한 모든 포트를 사용할 수 있습니다.A database mirroring endpoint can use any port that is available on the local system when the endpoint is created. 서버 인스턴스의 모든 데이터베이스 미러링 세션이 이 포트에서 수신하고 데이터베이스 미러링에 대해 들어오는 모든 연결에 이 포트가 사용됩니다.All database mirroring sessions on a server instance listen on that port, and all incoming connections for database mirroring use that port.

중요

데이터베이스 미러링 끝점이 있고 이미 사용 중인 경우 해당 끝점을 사용하는 것이 좋습니다.If a database mirroring endpoint exists and is already in use, we recommend that you use that endpoint. 사용 중인 끝점을 삭제하면 기존 세션이 중단됩니다.Dropping an in-use endpoint disrupts existing sessions.

항목 내용In This Topic

  • 시작하기 전 주의 사항: 보안Before you begin: Security

  • 데이터베이스 미러링 끝점을 만들려면: Transact-SQLTo create a database mirroring endpoint, using: Transact-SQL

시작하기 전에 Before You Begin

보안 Security

서버 인스턴스의 인증 및 암호화 방법은 시스템 관리자가 설정합니다.The authentication and encryption methods of the server instance are established by the system administrator.

중요

RC4 알고리즘은 더 이상 사용되지 않습니다.The RC4 algorithm is deprecated. Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 가능한 한 빨리 수정하세요.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. AES를 사용하는 것이 좋습니다. We recommend that you use AES.

사용 권한 Permissions

CREATE ENDPOINT 권한 또는 sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.Requires CREATE ENDPOINT permission, or membership in the sysadmin fixed server role. 자세한 내용은 GRANT 끝점 사용 권한(Transact-SQL)을 참조하세요.For more information, see GRANT Endpoint Permissions (Transact-SQL).

Transact-SQL 사용 Using Transact-SQL

Windows 인증을 사용하는 데이터베이스 미러링 끝점을 만들려면To Create a Database Mirroring Endpoint That Uses Windows Authentication

  1. 데이터베이스 미러링 끝점을 만들 SQL ServerSQL Server 인스턴스에 연결합니다.Connect to the instance of SQL ServerSQL Server on which you want to create a database mirroring endpoint.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.From the Standard bar, click New Query.

  3. 다음 문을 사용하여 데이터베이스 미러링 끝점이 이미 존재하는지 확인합니다.Determine if a database mirroring endpoint already exists by using the following statement:

    SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints;   
    

    중요

    서버 인스턴스에 대한 데이터베이스 미러링 끝점이 이미 존재하는 경우 서버 인스턴스에서 설정한 다른 세션에 대한 끝점을 사용하세요.If a database mirroring endpoint already exists for the server instance, use that endpoint for any other sessions you establish on the server instance.

  4. Transact-SQL로 Windows 인증을 사용하는 끝점을 만들려면 CREATE ENDPOINT 문을 사용합니다.To use Transact-SQL to create an endpoint to use with Windows Authentication, use a CREATE ENDPOINT statement. 이 문은 일반적으로 다음과 같은 형식으로 되어 있습니다.The statement takes the following general form:

    CREATE ENDPOINT <endpointName>CREATE ENDPOINT <endpointName>

    STATE=STARTEDSTATE=STARTED

    AS TCP ( LISTENER_PORT = <listenerPortList> )AS TCP ( LISTENER_PORT = <listenerPortList> )

    FOR DATABASE_MIRRORINGFOR DATABASE_MIRRORING

    ((

    [ AUTHENTICATION = WINDOWS [ <authorizationMethod> ][ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

    ]]

    [ [,] ENCRYPTION = REQUIRED[ [,] ENCRYPTION = REQUIRED

    [ ALGORITHM { <알고리즘> } ][ ALGORITHM { <algorithm> } ]

    ]]

    [,] ROLE = <역할>[,] ROLE = <role>

    ).)

    여기서where

    • <endpointName>은 서버 인스턴스의 데이터베이스 미러링 끝점에 대한 고유 이름입니다.<endpointName> is a unique name for the database mirroring endpoint of the server instance.

    • STARTED는 끝점이 시작되어 연결에 대한 수신을 시작하도록 지정합니다.STARTED specifies that the endpoint is to be started and to begin listening for connections. 데이터베이스 미러링 끝점은 일반적으로 STARTED 상태로 생성됩니다.A database mirroring endpoint typically is created in the STARTED state. STOPPED 상태(기본값)나 DISABLED 상태로 세션을 시작할 수도 있습니다.Alternatively, you can start a session in a STOPPED state (the default) or DISABLED state.

    • <listenerPortList>는 서버에서 데이터베이스 미러링 메시지를 수신 대기할 단일 포트 번호(nnnn)입니다.<listenerPortList> is a single port number (nnnn) on which you want the server to listen for database mirroring messages. TCP만 허용되기 때문에 다른 프로토콜을 지정하면 오류가 발생합니다.Only TCP is allowed; specifying any other protocol causes an error.

      하나의 포트 번호는 컴퓨터 시스템당 한 번만 사용할 수 있습니다.A port number can be used only once per computer system. 데이터베이스 미러링 끝점은 끝점이 생성될 때 로컬 시스템에서 사용 가능한 모든 포트를 사용할 수 있습니다.A database mirroring endpoint can use any port that is available on the local system when the endpoint is created. 시스템의 TCP 끝점에서 현재 사용 중인 포트를 식별하려면 다음 Transact-SQL 문을 사용합니다.To identify the ports currently being used by TCP endpoints on the system, use the following Transact-SQL statement:

      SELECT name, port FROM sys.tcp_endpoints;  
      

      중요

      각 서버 인스턴스에는 하나의 고유 수신기 포트만 필요합니다.Each server instance requires one and only one unique listener port.

    • 끝점에서 연결을 인증하는 데 NTLM이나 Kerberos만을 사용하려는 경우가 아니라면 Windows 인증에서 AUTHENTICATION 옵션은 선택 사항입니다.For Windows Authentication, the AUTHENTICATION option is optional, unless you want the endpoint to use only NTLM or Kerberos to authenticate connections. <authorizationMethod>는 연결을 인증하는 데 사용되는 방법을 NTLM, KERBEROS 또는 NEGOTIATE 중 하나로 지정합니다.<authorizationMethod> specifies the method used to authenticate connections as one of the following: NTLM, KERBEROS, or NEGOTIATE. 기본값인 NEGOTIATE를 적용하면 끝점이 Windows 협상 프로토콜을 사용하여 NTLM이나 Kerberos를 선택합니다.The default, NEGOTIATE, causes the endpoint to use the Windows negotiation protocol to choose either NTLM or Kerberos. 협상을 사용하면 반대쪽 끝점의 인증 수준에 따라 인증을 사용하여 연결을 설정하거나 인증을 사용하지 않고 연결을 설정할 수 있습니다.Negotiation enables connections with or without authentication, depending on the authentication level of the opposite endpoint.

    • ENCRYPTION은 기본적으로 REQUIRED로 설정되어 있으며ENCRYPTION is set to REQUIRED by default. 이는 끝점에 대한 모든 연결에 암호화를 사용해야 함을 의미합니다.This means that all connections to this endpoint must use encryption. 그러나 다음과 같이 끝점에 대해 암호화를 해제하거나 선택적으로 사용할 수 있습니다.However, you can disable encryption or make it optional on an endpoint. 대체 방법은 다음과 같습니다.The alternatives are as follows:

      Value 정의Definition
      DISABLEDDISABLED 연결을 통해 전송되는 데이터를 암호화하지 않도록 지정합니다.Specifies that data sent over a connection is not encrypted.
      SUPPORTEDSUPPORTED 반대쪽 끝점이 SUPPORTED나 REQUIRED로 지정된 경우에만 데이터를 암호화하도록 지정합니다.Specifies that the data is encrypted only if the opposite endpoint specifies either SUPPORTED or REQUIRED.
      REQUIREDREQUIRED 연결을 통해 전송되는 데이터를 반드시 암호화하도록 지정합니다.Specifies that data sent over a connection must be encrypted.

      한 끝점에 암호화가 필요한 경우 다른 끝점의 ENCRYPTION은 SUPPORTED나 REQUIRED로 설정해야 합니다.If an endpoint requires encryption, the other endpoint must have ENCRYPTION set to either SUPPORTED or REQUIRED.

    • <알고리즘>은 끝점의 암호화 표준을 지정하는 옵션을 제공합니다.<algorithm> provides the option of specifying the encryption standards for the endpoint. <알고리즘> 값은 RC4, AES, AES RC4 또는 RC4 AES 중 하나이거나 이러한 알고리즘의 조합일 수 있습니다.The value of <algorithm> can be one following algorithms or combinations of algorithms: RC4, AES, AES RC4, or RC4 AES.

      AES RC4는 끝점이 AES 알고리즘에 우선 순위를 두어 암호화 알고리즘을 협상하도록 지정합니다.AES RC4 specifies that this endpoint will negotiate for the encryption algorithm, giving preference to the AES algorithm. RC4 AES는 끝점이 RC4 알고리즘에 우선 순위를 두어 암호화 알고리즘을 협상하도록 지정합니다.RC4 AES specifies that this endpoint will negotiate for the encryption algorithm, giving preference to the RC4 algorithm. 양쪽 끝점이 두 알고리즘을 모두 지정하지만 순서가 다른 경우 연결을 수락하는 끝점의 알고리즘이 적용됩니다.If both endpoints specify both algorithms but in different orders, the endpoint accepting the connection wins.

      참고

      RC4 알고리즘은 더 이상 사용되지 않습니다.The RC4 algorithm is deprecated. Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 가능한 한 빨리 수정하세요.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. AES를 사용하는 것이 좋습니다. We recommend that you use AES.

    • <역할>은 서버에서 수행할 수 있는 역할을 정의합니다.<role> defines the role or roles that the server can perform. ROLE은 반드시 지정해야 합니다.Specifying ROLE is required. 그러나 끝점의 역할은 데이터베이스 미러링과만 관련이 있습니다.However, the role of the endpoint is relevant only for database mirroring. Always On 가용성 그룹Always On availability groups에 대해서는 끝점의 역할이 무시됩니다.For Always On 가용성 그룹Always On availability groups, the role of the endpoint is ignored.

      서버 인스턴스가 데이터베이스 미러링 세션에 따라 각기 다른 역할을 하도록 하려면 ROLE=ALL을 지정합니다.To allow a server instance to serve as one role for one database mirroring session and different role for another session, specify ROLE=ALL. 서버 인스턴스가 파트너 또는 미러링 모니터 서버가 되도록 제한하려면 ROLE=PARTNER와 ROLE=WITNESS를 각각 지정합니다.To restrict a server instance to being either a partner or a witness, specify ROLE=PARTNER or ROLE=WITNESS, respectively.

      참고

      다양한 버전의 SQL ServerSQL Server에서 제공하는 데이터베이스 미러링 옵션에 대한 자세한 내용은 SQL Server 2016 버전에서 지원하는 기능을 참조하세요.For more information about Database Mirroring options for different editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.

      CREATE ENDPOINT 구문에 대한 자세한 내용은 CREATE ENDPOINT(Transact-SQL)에서 Windows 인증을 사용하는 데이터베이스 미러링 끝점을 만드는 방법에 대해 설명합니다.For a complete description of the CREATE ENDPOINT syntax, see CREATE ENDPOINT (Transact-SQL).

    참고

    기존 끝점을 변경하려면 ALTER ENDPOINT(Transact-SQL)에서 Windows 인증을 사용하는 데이터베이스 미러링 끝점을 만드는 방법에 대해 설명합니다.To change an existing endpoint, use ALTER ENDPOINT (Transact-SQL).

예: 데이터베이스 미러링 지원을 위한 끝점 만들기(Transact-SQL) Example: Creating Endpoints to Support for Database Mirroring (Transact-SQL)

다음 예에서는 세 대의 다른 컴퓨터 시스템에 있는 기본 서버 인스턴스에 대한 데이터베이스 미러링 끝점을 만듭니다.The following example creates database mirroring endpoints for the default server instances on three separate computer systems:

서버 인스턴스의 역할Role of server instance 호스트 컴퓨터 이름Name of host computer
파트너(처음에는 주 역할임)Partner (initially in the principal role) SQLHOST01\.
파트너(처음에는 미러 역할임)Partner (initially in the mirror role) SQLHOST02\.
미러링 모니터Witness SQLHOST03\.

이 예에서 세 끝점은 모든 사용 가능한 포트 번호를 사용할 수 있지만 모두 포트 번호 7022를 사용합니다.In this example, all three endpoints use port number 7022, though any available port number would work. 세 끝점에서 기본 유형인 Windows 인증을 사용하므로 AUTHENTICATION 옵션이 필요하지 않습니다.The AUTHENTICATION option is unnecessary, because the endpoints use the default type, Windows Authentication. 세 끝점은 모두 Windows 인증의 기본 동작에 따라 연결 인증 방법을 협상하도록 되어 있으므로 ENCRYPTION 옵션도 필요하지 않습니다.The ENCRYPTION option is also unnecessary, because the endpoints are all intended to negotiate the authentication method for a connection, which is the default behavior for Windows Authentication. 또한 세 끝점에는 모두 기본 동작에 따라 암호화가 필요합니다.Also, all of the endpoints require the encryption, which is the default behavior.

각 서버 인스턴스는 파트너나 미러링 모니터 서버로 역할이 제한되며 각 서버의 끝점은 ROLE=PARTNER 또는 ROLE=WITNESS와 같이 해당 역할을 명시적으로 지정합니다.Each server instance is limited to serving as either a partner or a witness, and the endpoint of each server expressly specifies which role (ROLE=PARTNER or ROLE=WITNESS).

중요

각 서버 인스턴스는 끝점을 하나만 가질 수 있습니다.Each server instance can have only one endpoint. 따라서 서버 인스턴스가 세션에 따라 파트너 역할을 하거나 미러링 모니터 서버 역할을 하도록 하려면 ROLE=ALL을 지정하세요.Therefore, if you want a server instance to be a partner in some sessions and the witness in others, specify ROLE=ALL.

--Endpoint for initial principal server instance, which  
--is the only server instance running on SQLHOST01.  
CREATE ENDPOINT endpoint_mirroring  
    STATE = STARTED  
    AS TCP ( LISTENER_PORT = 7022 )  
    FOR DATABASE_MIRRORING (ROLE=PARTNER);  
GO  
--Endpoint for initial mirror server instance, which  
--is the only server instance running on SQLHOST02.  
CREATE ENDPOINT endpoint_mirroring  
    STATE = STARTED  
    AS TCP ( LISTENER_PORT = 7022 )  
    FOR DATABASE_MIRRORING (ROLE=PARTNER);  
GO  
--Endpoint for witness server instance, which  
--is the only server instance running on SQLHOST03.  
CREATE ENDPOINT endpoint_mirroring  
    STATE = STARTED  
    AS TCP ( LISTENER_PORT = 7022 )  
    FOR DATABASE_MIRRORING (ROLE=WITNESS);  
GO  

데이터베이스 미러링 끝점을 구성하려면To Configure a Database Mirroring Endpoint

참고 항목See Also

ALTER ENDPOINT(Transact-SQL) ALTER ENDPOINT (Transact-SQL)
암호화 알고리즘 선택 Choose an Encryption Algorithm
CREATE ENDPOINT(Transact-SQL) CREATE ENDPOINT (Transact-SQL)
서버 네트워크 주소 지정(데이터베이스 미러링) Specify a Server Network Address (Database Mirroring)
예제: Windows 인증을 사용하여 데이터베이스 미러링 설정(Transact-SQL) Example: Setting Up Database Mirroring Using Windows Authentication (Transact-SQL)
데이터베이스 미러링 끝점(SQL Server)The Database Mirroring Endpoint (SQL Server)