데이터베이스 미러링 - 세션 설정 - Windows 인증Database Mirroring - Establish Session - Windows Authentication

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

참고

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하세요.Avoid using this feature in new development work, and plan to modify applications that currently use this feature. 대신 Always On 가용성 그룹Always On availability groups 를 사용해야 합니다.Use Always On 가용성 그룹Always On availability groups instead.

미러 데이터베이스를 준비한 후( Prepare a Mirror Database for Mirroring (SQL Server)참조) 데이터베이스 미러링 세션을 구성합니다.After the mirror database is prepared (see Prepare a Mirror Database for Mirroring (SQL Server)), you can establish a database mirroring session. 주 서버, 미러 서버 및 미러링 모니터 서버 인스턴스는 다른 호스트 시스템에 있는 별도의 서버 인스턴스여야 합니다.The principal, mirror, and witness server instances must be separate server instances, which should be on separate host systems.

중요

미러링 구성은 성능에 영향을 줄 수 있으므로 사용률이 낮은 시간에 데이터베이스 미러링을 구성하는 것이 좋습니다.We recommend that you configure database mirroring during off-peak hours because configuring mirroring can impact performance.

참고

지정된 서버 인스턴스는 같은 파트너 또는 다른 파트너에 있는 여러 개의 동시 데이터베이스 미러링 세션에 참여할 수 있습니다.A given server instance can participate in multiple concurrent database mirroring sessions with the same or different partners. 서버 인스턴스는 한 세션에서는 파트너가 되고, 다른 세션에서는 미러링 모니터 서버가 될 수 있습니다.A server instance can be a partner in some sessions and a witness in other sessions. 미러 서버 인스턴스는 주 서버 인스턴스와 동일한 SQL ServerSQL Server 버전을 실행해야 합니다.The mirror server instance must be running the same edition of SQL ServerSQL Server as the principal server instance. 일부 MicrosoftMicrosoft SQL ServerSQL Server버전에서는 데이터베이스 미러링을 사용할 수 없습니다.Database mirroring is not available in every edition of MicrosoftMicrosoft SQL ServerSQL Server. SQL ServerSQL Server버전에서 지원되는 기능 목록은 SQL Server 2016 버전에서 지원하는 기능을 참조하세요.For a list of features that are supported by the editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016. 또한 서버 인스턴스는 동일한 작업을 처리할 수 있는 동등한 시스템에서 실행하는 것이 좋습니다.Also, we strongly recommend that they run on comparable systems that can handle identical workloads.

데이터베이스 미러링 세션을 구성하려면To establish a database mirroring session

  1. 미러 데이터베이스를 만듭니다.Create the mirror database. 자세한 내용은 미러 데이터베이스의 미러링 준비(SQL Server)버전에서는 데이터베이스 미러링을 사용할 수 없습니다.For more information, see Prepare a Mirror Database for Mirroring (SQL Server).

  2. 각 서버 인스턴스에서 보안을 설정합니다.Set up security on each server instance.

    데이터베이스 미러링 세션의 각 서버 인스턴스에는 데이터베이스 미러링 끝점이 필요합니다.Each server instance in a database mirroring session requires a database mirroring endpoint. 따라서 끝점이 없으면 만들어야 합니다.If the endpoint does not exist, you must create it.

    참고

    서버 인스턴스에서 데이터베이스 미러링에 사용하는 인증 형식은 데이터베이스 미러링 끝점의 속성입니다.The form of authentication used for database mirroring by a server instance is a property of its database mirroring endpoint. 데이터베이스 미러링에서 사용할 수 있는 두 가지 전송 보안 유형으로 Windows 인증과 인증서 기반 인증이 있습니다.Two types of transport security are available for database mirroring: Windows Authentication or certificate-based authentication. 자세한 내용은 데이터베이스 미러링 및 Always On 가용성 그룹에 대한 전송 보안(SQL Server)을 참조하세요.For more information, see Transport Security for Database Mirroring and Always On Availability Groups (SQL Server).

    각 파트너 서버에서 데이터베이스 미러링의 끝점이 있는지 확인합니다.On each partner server, ensure that an endpoint exists for database mirroring. 지원할 미러링 세션의 수에 관계없이 서버 인스턴스에는 데이터베이스 미러링 끝점이 하나만 있어야 합니다.Regardless of the number of mirroring sessions to be supported, the server instance can have only one database mirroring endpoint. 이 서버 인스턴스를 데이터베이스 미러링 세션의 파트너 전용으로 사용하려면 끝점에 파트너 역할을 할당합니다(ROLE=PARTNER).If you intend to use this server instance exclusively for partners in database mirroring sessions, you can assign the role of partner to the endpoint (ROLE=PARTNER). 이 서버를 다른 데이터베이스 미러링 세션에서 미러링 모니터 서버로도 사용하려면 끝점 역할을 ALL로 지정합니다.If you intend also to use this server for the witness in other database mirroring sessions, assign the role of the endpoint as ALL.

    SET PARTNER 문을 실행하려면 두 파트너의 끝점에 대한 STATE가 STARTED로 설정되어 있어야 합니다.To execute a SET PARTNER statement, the STATE of the endpoints of both partners must be set to STARTED.

    서버 인스턴스에 데이터베이스 미러링 끝점이 있는지 확인하고 그 역할과 상태를 확인하려면 해당 인스턴스에 다음 Transact-SQLTransact-SQL 문을 사용합니다.To learn whether a server instance has a database mirroring endpoint and to learn its role and state, on that instance, use the following Transact-SQLTransact-SQL statement:

    SELECT role_desc, state_desc FROM sys.database_mirroring_endpoints  
    

    중요

    사용 중인 데이터베이스 미러링 끝점은 다시 구성하지 마십시오.Do not reconfigure an in-use database mirroring endpoint. 데이터베이스 미러링 끝점이 있으며 이미 사용 중인 경우 서버 인스턴스의 모든 세션에 이 끝점을 사용하는 것이 좋습니다.If a database mirroring endpoint exists and is already in use, we recommend that you use that endpoint for every session on the server instance. 사용 중인 끝점을 삭제하면 끝점이 다시 시작되어 기존 세션의 연결이 끊어지므로 다른 서버 인스턴스에서 오류가 발생할 수 있습니다.Dropping an in-use endpoint can cause the endpoint to restart, disrupting the connections of the existing sessions, which can appear to be an error to the other server instances. 이는 특히 파트너에 끝점을 다시 구성하면 장애 조치(Failover) 오류가 발생할 수 있는 자동 장애 조치(Failover)가 있는 보호 우선 모드에서 중요한 사항입니다.This is particularly important in high-safety mode with automatic failover, in which reconfiguring the endpoint on a partner could cause a failover to occur. 또한 세션에 미러링 모니터 서버가 설정된 경우 데이터베이스 미러링 끝점을 삭제하면 해당 세션의 주 서버에서 쿼럼이 손실될 수 있습니다. 이 경우 데이터베이스는 오프라인 상태가 되며 해당 사용자의 연결이 끊어집니다.Also, if a witness has been set for a session, dropping the database mirroring endpoint can cause the principal server of that session to lose quorum; if that occurs, the database is taken offline and its users are disconnected. 자세한 내용은 쿼럼: 미러링 모니터 서버가 데이터베이스 가용성에 미치는 영향(데이터베이스 미러링)을 참조하세요.For more information, see Quorum: How a Witness Affects Database Availability (Database Mirroring).

    파트너 중 하나에 끝점이 없는 경우 Windows 인증에 대한 데이터베이스 미러링 끝점 만들기(Transact-SQL)를 참조하세요.If either partner lacks an endpoint, see Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL).

  3. 서버 인스턴스가 여러 도메인 사용자 계정으로 실행되는 경우 각 인스턴스는 다른 인스턴스의 master 데이터베이스에서 로그인을 필요로 합니다.If server instances are running under different domain user accounts, each requires a login in the master database of the others. 따라서 로그인이 없으면 만들어야 합니다.If the login does not exist, you must create it. 자세한 내용은 Windows 인증을 사용하여 데이터베이스 미러링 끝점에 대한 네트워크 액세스 허용(SQL Server)버전에서는 데이터베이스 미러링을 사용할 수 없습니다.For more information, see Allow Network Access to a Database Mirroring Endpoint Using Windows Authentication (SQL Server).

  4. 미러 데이터베이스에서 주 서버를 파트너로 설정하려면 미러 서버에 연결하여 다음 문을 실행합니다.To set the principal server as partner on the mirror database, connect to the mirror server, and issue the following statement:

    ALTER DATABASE <database_name> SET PARTNER =<server_network_address>ALTER DATABASE <database_name> SET PARTNER =<server_network_address>

    여기서 <database_name>은 미러링할 데이터베이스의 이름(두 파트너에서 이 이름은 동일함)이고 <server_network_address>는 주 서버의 서버 네트워크 주소입니다.where <database_name> is the name of the database to be mirrored (this name is the same on both partners), and <server_network_address> is the server network address of the principal server.

    서버 네트워크 주소 구문은 다음과 같습니다.The syntax for a server network address is as follows:

    TCP://<system-address>:<port>TCP://<system-address>:<port>

    여기서 <system-address>는 대상 컴퓨터 시스템을 명확하게 식별하는 문자열이고, <포트>는 파트너 서버 인스턴스의 미러링 끝점에서 사용되는 포트 번호입니다.where <system-address> is a string that unambiguously identifies the destination computer system, and <port> is the port number used by the mirroring endpoint of the partner server instance. 자세햔 내용은 서버 네트워크 주소 지정(데이터베이스 미러링)을 사용합니다.For more information, see Specify a Server Network Address (Database Mirroring).

    예를 들어 미러 서버 인스턴스에서 다음 ALTER DATABASE 문은 파트너를 원래 주 서버 인스턴스로 설정합니다.For example, on the mirror server instance, the following ALTER DATABASE statement sets the partner as the original principal server instance. 데이터베이스 이름은 AdventureWorks이고 시스템 주소는 DBSERVER1(파트너 시스템의 이름)이며 파트너의 데이터베이스 미러링 끝점에 사용되는 포트는 7022입니다.The database name is AdventureWorks, the system address is DBSERVER1—the name of the partner's system—and the port used by the partner's database mirroring endpoint is 7022:

    ALTER DATABASE AdventureWorks   
       SET PARTNER = 'TCP://DBSERVER1:7022'  
    

    이 문은 주 서버에서 접속할 때 세션을 구성하도록 미러 서버를 준비합니다.This statement prepares the mirror server to form a session when it is contacted by the principal server.

  5. 주 데이터베이스에서 미러 서버를 파트너로 설정하려면 주 서버에 연결하여 다음 문을 실행합니다.To set the mirror server as partner on the principal database, connect to the principal server, and issue the following statement:

    ALTER DATABASE <database_name> SET PARTNER =<server_network_address>ALTER DATABASE <database_name> SET PARTNER =<server_network_address>

    자세한 내용은 4단계를 참조하십시오.For more information, see step 4.

    예를 들어 주 서버 인스턴스에서 다음 ALTER DATABASE 문은 파트너를 원래 미러 서버 인스턴스로 설정합니다.For example, on the principal server instance, the following ALTER DATABASE statement sets the partner as the original mirror server instance. 데이터베이스 이름은 AdventureWorks이고 시스템 주소는 DBSERVER2(파트너 시스템의 이름)이며 파트너의 데이터베이스 미러링 끝점에 사용되는 포트는 7025입니다.The database name is AdventureWorks, the system address is DBSERVER2—the name of the partner's system—and the port used by the partner's database mirroring endpoint is 7025:

    ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://DBSERVER2:7022'  
    

    주 서버에서 이 문을 입력하면 데이터베이스 미러링 세션이 시작됩니다.Entering this statement on the principal server begins the database mirroring session.

  6. 기본적으로 세션은 전체 트랜잭션 보안으로 설정되므로(SAFETY가 FULL로 설정됨) 자동 장애 조치를 지원하지 않는 동기 보호 우선 모드로 세션이 시작됩니다.By default a session is set to full transaction safety (SAFETY is set to FULL), which starts the session in synchronous, high-safety mode without automatic failover. 이러한 세션을 다음과 같이 자동 장애 조치(Failover)가 있는 보호 우선 모드나 비동기 성능 우선 모드에서 실행되도록 다시 구성할 수 있습니다.You can reconfigure the session to run in high-safety mode with automatic failover or in asynchronous, high-performance mode, as follows:

예제Example

참고

다음 예에서는 기존 미러 데이터베이스의 파트너 간에 데이터베이스 미러링 세션을 설정합니다.The following example establishes a database mirroring session between partners for an existing mirror database. 미러 데이터베이스를 만드는 방법은 미러 데이터베이스의 미러링 준비(SQL Server)를 참조하세요.For information on creating a mirror database, see Prepare a Mirror Database for Mirroring (SQL Server)=.

이 예에서는 미러링 모니터 서버 없이 데이터베이스 미러링 세션을 만드는 기본 단계를 보여 줍니다.The example shows the basic steps for creating a database mirroring session without a witness. 두 파트너는 두 컴퓨터 시스템(PARTNERHOST1 및 PARTNERHOST5)의 기본 서버 인스턴스입니다.The two partners are the default server instances on two computer systems (PARTNERHOST1 and PARTNERHOST5). 두 파트너 인스턴스는 동일한 Windows 도메인 사용자 계정(MYDOMAIN\dbousername)을 실행합니다.The two partner instances run the same Windows domain user account (MYDOMAIN\dbousername).

  1. 주 서버 인스턴스(PARTNERHOST1의 기본 인스턴스)에서 포트 7022를 사용하여 모든 역할을 지원하는 끝점을 만듭니다.On the principal server instance (default instance on PARTNERHOST1), create an endpoint that supports all roles using port 7022:

    --create an endpoint for this instance  
    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    

    참고

    로그인을 설정하는 방법의 예제는 Windows 인증을 사용하여 데이터베이스 미러링 끝점에 대한 네트워크 액세스 허용(SQL Server)버전에서는 데이터베이스 미러링을 사용할 수 없습니다.For an example of how to setup a login, see Allow Network Access to a Database Mirroring Endpoint Using Windows Authentication (SQL Server).

  2. 미러 서버 인스턴스(PARTNERHOST5의 기본 인스턴스)에서 포트 7022를 사용하여 모든 역할을 지원하는 끝점을 만듭니다.On the mirror server instance (default instance on PARTNERHOST5), create an endpoint that supports all roles using port 7022:

    --create an endpoint for this instance  
    CREATE ENDPOINT Endpoint_Mirroring  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL)  
    GO  
    --Partners under same domain user; login already exists in master.  
    
  3. PARTNERHOST1의 주 서버 인스턴스에서 데이터베이스를 백업합니다.On the principal server instance (on PARTNERHOST1), back up the database:

    BACKUP DATABASE AdventureWorks   
        TO DISK = 'C:\AdvWorks_dbmirror.bak'   
        WITH FORMAT  
    GO  
    
  4. PARTNERHOST5의 미러 서버 인스턴스에서 데이터베이스를 복원합니다.On the mirror server instance (on PARTNERHOST5), restore the database:

    RESTORE DATABASE AdventureWorks   
        FROM DISK = 'Z:\AdvWorks_dbmirror.bak'   
        WITH NORECOVERY  
    GO  
    
  5. 전체 데이터베이스 백업을 만든 후 주 데이터베이스에서 로그 백업을 만들어야 합니다.After you create the full database backup, you must create a log backup on the principal database. 예를 들어 다음 Transact-SQLTransact-SQL 문은 앞의 데이터베이스 백업에 사용된 동일한 파일에 로그를 백업합니다.For example, the following Transact-SQLTransact-SQL statement backs up the log to the same file used by the preceding database backup:

    BACKUP LOG AdventureWorks   
        TO DISK = 'C:\AdventureWorks.bak'   
    GO  
    
  6. 미러링을 시작하기 전에 필수 로그 백업 및 모든 후속 로그 백업을 적용해야 합니다.Before you can start mirroring, you must apply the required log backup (and any subsequent log backups).

    예를 들어 다음 Transact-SQLTransact-SQL 문은 C:\AdventureWorks.bak로부터 첫 번째 로그를 복원합니다.For example, the following Transact-SQLTransact-SQL statement restores the first log from C:\AdventureWorks.bak:

    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\ AdventureWorks.bak'   
        WITH FILE=1, NORECOVERY  
    GO  
    
  7. 미러 서버 인스턴스에서 PARTNERHOST1의 서버 인스턴스를 파트너로 설정하여 초기 주 서버로 만듭니다.On the mirror server instance, set the server instance on PARTNERHOST1 as the partner (making it the initial principal server):

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
        SET PARTNER =   
        'TCP://PARTNERHOST1:7022'  
    GO  
    

    중요

    기본적으로 데이터베이스 미러링 세션은 전체 트랜잭션 보안(SAFETY가 FULL로 설정됨)에 따라 달라지는 동기 모드로 실행됩니다.default, a database mirroring session runs in synchronous mode, which depends on having full transaction safety (SAFETY is set to FULL). 비동기 성능 우선 모드로 세션을 실행하려면 SAFETY를 OFF로 설정합니다.To cause a session to run in asynchronous, high-performance mode, set SAFETY to OFF. 자세한 내용은 Database Mirroring Operating Modes을 참조하세요.For more information, see Database Mirroring Operating Modes.

  8. 주 서버 인스턴스에서 PARTNERHOST5 의 서버 인스턴스를 파트너로 설정하여 초기 미러 서버로 만듭니다.On the principal server instance, set the server instance on PARTNERHOST5 as the partner (making it the initial mirror server):

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
        SET PARTNER = 'TCP://PARTNERHOST5:7022'  
    GO  
    
  9. 필요에 따라 자동 장애 조치(Failover)가 있는 보호 우선 모드를 사용하려면 미러링 모니터 서버 인스턴스를 설정합니다.Optionally, if you intend to use high-safety mode with automatic failover, set up the witness server instance. 자세한 내용은 Windows 인증을 사용하여 데이터베이스 미러링 모니터 추가(Transact-SQL)를 참조하세요.For more information, see Add a Database Mirroring Witness Using Windows Authentication (Transact-SQL).

참고

보안 설정 표시, 미러 데이터베이스 준비, 파트너 설정 및 미러링 모니터 서버 추가 등의 작업을 수행하는 전체 예제는 데이터베이스 미러링 설정(SQL Server)를 참조하세요.For a complete example showing security setup, preparing the mirror database, setting up the partners, and adding a witness, see Setting Up Database Mirroring (SQL Server).

참고 항목See Also

데이터베이스 미러링 설정(SQL Server) Setting Up Database Mirroring (SQL Server)
ALTER DATABASE(Transact-SQL) ALTER DATABASE (Transact-SQL)
Windows 인증을 사용하여 데이터베이스 미러링 끝점에 대한 네트워크 액세스 허용(SQL Server) Allow Network Access to a Database Mirroring Endpoint Using Windows Authentication (SQL Server)
미러 데이터베이스의 미러링 준비(SQL Server) Prepare a Mirror Database for Mirroring (SQL Server)
Windows 인증에 대한 데이터베이스 미러링 끝점 만들기(Transact-SQL) Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL)
데이터베이스 미러링 및 로그 전달(SQL Server) Database Mirroring and Log Shipping (SQL Server)
데이터베이스 미러링(SQL Server) Database Mirroring (SQL Server)
데이터베이스 미러링 및 복제(SQL Server) Database Mirroring and Replication (SQL Server)
데이터베이스 미러링 설정(SQL Server) Setting Up Database Mirroring (SQL Server)
서버 네트워크 주소 지정(데이터베이스 미러링) Specify a Server Network Address (Database Mirroring)
데이터베이스 미러링 운영 모드Database Mirroring Operating Modes