데이터베이스 미러링(SQL Server)Database Mirroring (SQL Server)

이 항목 적용 대상: 예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.

데이터베이스 미러링SQL ServerSQL Server 데이터베이스의 가용성을 높이기 위한 솔루션입니다.Database mirroring is a solution for increasing the availability of a SQL ServerSQL Server database. 미러링은 데이터베이스 단위로 구현되며 전체 복구 모델을 사용하는 데이터베이스에서만 작동합니다.Mirroring is implemented on a per-database basis and works only with databases that use the full recovery model.

중요

데이터베이스 미러링 지원, 파트너 서버 구성을 위한 제한 사항, 사전 요구 사항 및 권장 사항, 데이터베이스 미러링 배포를 위한 권장 사항에 대한 자세한 내용은 데이터베이스 미러링을 위한 필수 구성 요소, 제한 사항 및 권장 사항을 참조하세요.For information about support for database mirroring, restrictions, prerequisites, recommendations for configuring partner servers, and recommendations for deploying database mirroring, see Prerequisites, Restrictions, and Recommendations for Database Mirroring.

데이터베이스 미러링의 이점Benefits of Database Mirroring

데이터베이스 미러링은 다음과 같은 이점을 제공하는 간단한 전략입니다.Database mirroring is a simple strategy that offers the following benefits:

  • 데이터베이스의 가용성이 커집니다.Increases availability of a database.

    자동 장애 조치(failover)가 있는 보호 우선 모드에서는 재해 발생 시 장애 조치에 의해 데이터베이스의 대기 복사본이 신속하게 온라인 상태가 됩니다(데이터 손실 없음).In the event of a disaster, in high-safety mode with automatic failover, failover quickly brings the standby copy of the database online (without data loss). 다른 운영 모드의 경우 데이터베이스 관리자가 데이터베이스의 대기 복사본으로 서비스를 강제할 수 있습니다(데이터 손실 가능).In the other operating modes, the database administrator has the alternative of forcing service (with possible data loss) to the standby copy of the database. 자세한 내용은 이 항목의 뒷부분에 나오는 역할 전환을 참조하세요.For more information, see Role Switching, later in this topic.

  • 데이터 보호가 향상됩니다.Increases data protection.

    데이터베이스 미러링은 운영 모드가 보호 우선 모드인지 성능 우선 모드인지에 따라 완벽하거나 거의 완벽한 데이터 중복을 제공합니다.Database mirroring provides complete or almost complete redundancy of the data, depending on whether the operating mode is high-safety or high-performance. 자세한 내용은 이 항목의 뒷부분에 나오는 운영 모드를 참조하세요.For more information, see Operating Modes, later in this topic.

    SQL Server 2008 EnterpriseSQL Server 2008 Enterprise 이상 버전에서 실행 중인 데이터베이스 미러링 파트너는 데이터 페이지를 읽지 못하게 하는 특정 오류 유형을 자동으로 해결하려고 시도합니다.A database mirroring partner running on SQL Server 2008 EnterpriseSQL Server 2008 Enterprise or later versions automatically tries to resolve certain types of errors that prevent reading a data page. 페이지를 읽지 못하는 파트너는 다른 파트너로부터 새 복사본을 요청합니다.The partner that is unable to read a page requests a fresh copy from the other partner. 이 요청이 성공하면 읽을 수 없는 페이지는 새 복사본으로 대체되고 일반적으로 오류가 해결됩니다.If this request succeeds, the unreadable page is replaced by the copy, which usually resolves the error. 자세한 내용은 이 항목의 뒷부분에 나오는 자동 페이지 복구(가용성 그룹: 데이터베이스 미러링)을 참조하세요.For more information, see Automatic Page Repair (Availability Groups: Database Mirroring).

  • 업그레이드 중에 프로덕션 데이터베이스의 가용성이 증가합니다.Improves the availability of the production database during upgrades.

    미러된 데이터베이스의 작동 중단을 최소화하려면 장애 조치(failover) 파트너를 호스팅하는 SQL ServerSQL Server 인스턴스를 순차적으로 업그레이드하면 됩니다.To minimize downtime for a mirrored database, you can sequentially upgrade the instances of SQL ServerSQL Server that are hosting the failover partners. 이렇게 하면 단일 장애 조치(failover)에 대해서만 가동 중단이 발생합니다.This will incur the downtime of only a single failover. 이러한 형태의 업그레이드를 롤링 업그레이드라고 합니다.This form of upgrade is known as a rolling upgrade. 자세한 내용은 Upgrading Mirrored Instances을 참조하세요.For more information, see Upgrading Mirrored Instances.

데이터베이스 미러링 용어 및 정의Database Mirroring Terms and Definitions

자동 장애 조치(automatic failover)automatic failover
주 서버를 사용할 수 없게 되면 미러 서버가 주 서버의 역할을 맡고 해당 데이터베이스의 복사본을 온라인으로 전환하여 주 데이터베이스로 사용하도록 하는 프로세스입니다.The process by which, when the principal server becomes unavailable, the mirror server to take over the role of principal server and brings its copy of the database online as the principal database.

장애 조치(failover) 파트너(failover partner)failover partners
미러된 데이터베이스에 대한 역할 전환 파트너로 작동하는 두 개의 서버 인스턴스(주 서버 또는 미러 서버)입니다.The two server instances (the principal server or the mirror server) that act as role-switching partners for a mirrored database.

강제 서비스(forced service)forced service
주 서버 오류 발생 시 데이터베이스 소유자에 의해 시작되는 장애 조치(failover)로, 상태를 알 수 없는 동안 미러 데이터베이스로 서비스를 전송합니다.A failover initiated by the database owner upon the failure of the principal server that transfers service to the mirror database while it is in an unknown state.

성능 우선 모드High-performance mode
데이터베이스 미러링 세션이 비동기적으로 작동하며 주 서버와 미러 서버만 사용합니다.The database mirroring session operates asynchronously and uses only the principal server and mirror server. 역할 전환의 유일한 형식은 강제 서비스(데이터 손실 가능)입니다.The only form of role switching is forced service (with possible data loss).

보호 우선 모드High-safety mode
데이터베이스 미러링 세션이 동기적으로 작동하며 필요한 경우 주 서버와 미러 서버뿐 아니라 미러링 모니터 서버도 사용합니다.The database mirroring session operates synchronously and, optionally, uses a witness, as well as the principal server and mirror server.

수동 장애 조치(manual failover)manual failover
주 서버가 계속 실행 중일 때 데이터베이스 소유자에 의해 시작되는 장애 조치(failover)로, 동기화된 상태에서 주 데이터베이스의 서비스를 미러 데이터베이스로 전송합니다.A failover initiated by the database owner, while the principal server is still running, that transfers service from the principal database to the mirror database while they are in a synchronized state.

미러 데이터베이스(mirror database)mirror database
일반적으로 주 데이터베이스와 완전하게 동기화되는 데이터베이스 복사본입니다.The copy of the database that is typically fully synchronized with the principal database.

미러 서버(mirror server)mirror server
데이터베이스 미러링 구성에서 미러 데이터베이스가 있는 서버 인스턴스입니다.In a database mirroring configuration, the server instance on which the mirror database resides.

주 데이터베이스(principal database)principal database
데이터베이스 미러링에서 트랜잭션 로그 레코드가 데이터베이스(미러 데이터베이스)의 읽기 전용 복사본에 적용되는 읽기/쓰기 데이터베이스입니다.In database mirroring, a read-write database whose transaction log records are applied to a read-only copy of the database (a mirror database).

주 서버(principal server)principal server
데이터베이스 마이닝에서 해당 데이터베이스가 현재 주 데이터베이스인 파트너를 말합니다.In database mirroring, the partner whose database is currently the principal database.

Redo Queueredo queue
미러 서버의 디스크에서 대기 중인 받은 트랜잭션 로그 레코드입니다.Received transaction log records that are waiting on the disk of a mirror server.

역할(role)role
주 서버와 미러 서버는 서로 보완적인 주 역할 및 미러 역할을 수행합니다.The principal server and mirror server perform complementary principal and mirror roles. 필요에 따라 미러링 모니터 서버의 역할을 제3의 서버 인스턴스가 수행할 수 있습니다.Optionally, the role of witness is performed by a third server instance.

역할 전환role switching
기본 역할을 미러에게 인계하는 것을 말합니다.The taking over of the principal role by the mirror.

Send Queuesend queue
주 서버의 로그 디스크에 누적된 보내지 않은 트랜잭션 로그 레코드입니다.Unsent transaction log records that have accumulated on the log disk of the principal server.

세션session
주 서버, 미러 서버 및 미러링 모니터 서버(있는 경우) 간에 데이터베이스 미러링이 수행될 때 발생하는 관계입니다.The relationship that occurs during database mirroring among the principal server, mirror server, and witness server (if present).

미러링 세션이 시작 또는 재개된 후 주 서버에 누적된 주 데이터베이스의 로그 레코드가 미러 서버로 전송되는 프로세스입니다. 미러 서버는 주 서버를 따라잡기 위해 이러한 로그 레코드를 가능한 빨리 디스크에 기록합니다.After a mirroring session starts or resumes, the process by which log records of the principal database that have accumulated on the principal server are sent to the mirror server, which writes these log records to disk as quickly as possible to catch up with the principal server.

트랜잭션 보안Transaction safety
데이터베이스 미러링 세션이 동기적으로 작동하는지 아니면 비동기적으로 작동하는지를 결정하는 미러링별 데이터베이스 속성입니다.A mirroring-specific database property that determines whether a database mirroring session operates synchronously or asynchronously. 보안 수준은 FULL 및 OFF의 두 가지입니다.There are two safety levels: FULL and OFF.

미러링 모니터Witness
보호 우선 모드에서만 사용할 수 있으며, 자동 장애 조치(failover)가 시작될 경우 미러 서버에서 인식할 수 있도록 하는 SQL Server의 선택적 인스턴스입니다.For use only with high-safety mode, an optional instance of SQL Server that enables the mirror server to recognize when to initiate an automatic failover. 미러링 모니터 서버는 두 장애 조치(Failover) 파트너와는 달리 데이터베이스를 제공하지 않습니다.Unlike the two failover partners, the witness does not serve the database. 미러링 모니터 서버는 자동 장애 조치(Failover)를 지원하는 역할만 수행합니다.Supporting automatic failover is the only role of the witness.

데이터베이스 미러링 개요Overview of Database Mirroring

데이터베이스 미러링은 SQL Server 데이터베이스 엔진SQL Server Database Engine의 서로 다른 서버 인스턴스에 있어야 하는 두 개의 단일 데이터베이스 복사본을 유지 관리합니다.Database mirroring maintains two copies of a single database that must reside on different server instances of SQL Server 데이터베이스 엔진SQL Server Database Engine. 일반적으로 두 서버 인스턴스는 서로 다른 위치의 컴퓨터에 있습니다.Typically, these server instances reside on computers in different locations. 데이터베이스에서 데이터베이스 미러링을 시작하면 이러한 서버 인스턴스 간의 관계( 데이터베이스 미러링 세션이라고 함)가 시작됩니다.Starting database mirroring on a database, initiates a relationship, known as a database mirroring session, between these server instances.

한 서버 인스턴스는 클라이언트에 데이터베이스를 제공하고( 주 서버)One server instance serves the database to clients (the principal server). 다른 서버 인스턴스는 미러링 세션의 구성 및 상태에 따라 상시 또는 웜 대기 서버( 미러 서버) 역할을 합니다.The other instance acts as a hot or warm standby server (the mirror server), depending on the configuration and state of the mirroring session. 데이터베이스 미러링 세션을 동기화하면 데이터베이스 미러링은 커밋된 트랜잭션에서 데이터 손실 없이 신속한 장애 조치(Failover)를 지원하는 상시 대기 서버를 제공합니다.When a database mirroring session is synchronized, database mirroring provides a hot standby server that supports rapid failover without a loss of data from committed transactions. 세션이 동기화되지 않은 경우 미러 서버는 일반적으로 웜 대기 서버로 사용할 수 있으며 데이터가 손실될 수 있습니다.When the session is not synchronized, the mirror server is typically available as a warm standby server (with possible data loss).

주 서버와 미러 서버는 데이터베이스 미러링 세션 에서 파트너로 통신하고 협력합니다.The principal and mirror servers communicate and cooperate as partners in a database mirroring session. 두 파트너는 세션에서 서로 보완하는 주 역할미러 역할을 수행합니다.The two partners perform complementary roles in the session: the principal role and the mirror role. 언제든지 한 파트너는 주 역할을 수행하고 다른 파트너는 미러 역할을 수행합니다.At any given time, one partner performs the principal role, and the other partner performs the mirror role. 각 파트너는 현재 역할을 소유 한다고 표현합니다.Each partner is described as owning its current role. 주 역할을 소유하는 파트너를 주 서버라고 하며 주 서버의 데이터베이스 복사본이 현재의 주 데이터베이스입니다.The partner that owns the principal role is known as the principal server, and its copy of the database is the current principal database. 미러 역할을 소유하는 파트너를 미러 서버라고 하며 미러 서버의 데이터베이스 복사본이 현재의 미러 데이터베이스입니다.The partner that owns the mirror role is known as the mirror server, and its copy of the database is the current mirror database. 프로덕션 환경에 데이터베이스 미러링이 구축된 경우 주 데이터베이스가 프로덕션 데이터베이스가 됩니다.When database mirroring is deployed in a production environment, the principal database is the production database.

데이터베이스 미러링은 주 데이터베이스에서 발생한 모든 삽입, 업데이트 및 삭제 작업을 가능한 한 빨리 미러 데이터베이스에 대해 다시 실행 하는 작업과 관련이 있습니다.Database mirroring involves redoing every insert, update, and delete operation that occurs on the principal database onto the mirror database as quickly as possible. 다시 실행은 활성 트랜잭션 로그 레코드의 스트림을 미러 서버로 보내고, 미러 서버에서 가능한 한 빨리 로그 레코드를 순서대로 미러 데이터베이스에 적용함으로써 이루어집니다.Redoing is accomplished by sending a stream of active transaction log records to the mirror server, which applies log records to the mirror database, in sequence, as quickly as possible. 논리적 수준에서 작동하는 복제와 달리 데이터베이스 미러링은 물리적 로그 레코드 수준에서 작동합니다.Unlike replication, which works at the logical level, database mirroring works at the level of the physical log record. SQL Server 2008SQL Server 2008부터 주 서버는 트랜잭션 로그 레코드의 스트림을 미러 서버에 보내기 전에 압축합니다.Beginning in SQL Server 2008SQL Server 2008, the principal server compresses the stream of transaction log records before sending it to the mirror server. 이러한 로그 압축은 모든 미러링 세션에서 발생합니다.This log compression occurs in all mirroring sessions.

참고

지정된 서버 인스턴스는 같은 파트너 또는 다른 파트너에 있는 여러 개의 동시 데이터베이스 미러링 세션에 참여할 수 있습니다.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.

섹션 내용In This Section:

운영 모드Operating Modes

데이터베이스 미러링 세션이 동기 또는 비동기 작업으로 실행됩니다.A database mirroring session runs with either synchronous or asynchronous operation. 비동기 작업에서는 미러 서버가 로그를 디스크에 쓸 때까지 기다리지 않고 트랜잭션이 커밋되므로 성능이 극대화됩니다.Under asynchronous operation, the transactions commit without waiting for the mirror server to write the log to disk, which maximizes performance. 동기 작업에서는 트랜잭션이 두 파트너에서 모두 커밋되지만 트랜잭션 대기 시간이 길어집니다.Under synchronous operation, a transaction is committed on both partners, but at the cost of increased transaction latency.

두 가지 미러링 운영 모드가 있습니다.There are two mirroring operating modes. 이 중에서 보호 우선 모드 는 동기 작업을 지원합니다.One of them, high-safety mode supports synchronous operation. 보호 우선 모드에서 세션을 시작하면 미러 서버는 가능한 한 빨리 미러 데이터베이스를 주 데이터베이스와 동기화합니다.Under high-safety mode, when a session starts, the mirror server synchronizes the mirror database together with the principal database as quickly as possible. 데이터베이스가 동기화되면 트랜잭션이 두 파트너에서 모두 커밋되지만 트랜잭션 대기 시간이 길어집니다.As soon as the databases are synchronized, a transaction is committed on both partners, at the cost of increased transaction latency.

두 번째 운영 모드인 성능 우선 모드는 비동기적으로 실행됩니다.The second operating mode, high-performance mode, runs asynchronously. 미러 서버는 주 서버가 보낸 로그 레코드를 유지하려고 합니다.The mirror server tries to keep up with the log records sent by the principal server. 미러 데이터베이스에 주 데이터베이스보다 약간 뒤처질 수 있습니다.The mirror database might lag somewhat behind the principal database. 그러나 두 데이터베이스의 시간 간격은 일반적으로 크지 않습니다.However, typically, the gap between the databases is small. 그러나 주 서버에 작업이 크거나 미러 서버 시스템이 과부화된 경우 이 시간 간격은 상당히 커질 수 있습니다.However, the gap can become significant if the principal server is under a heavy work load or the system of the mirror server is overloaded.

성능 우선 모드에서는 주 서버가 로그 레코드를 미러 서버로 보내는 즉시 클라이언트로 확인 메시지를 보냅니다.In high-performance mode, as soon as the principal server sends a log record to the mirror server, the principal server sends a confirmation to the client. 이때 주 서버는 미러 서버의 확인을 기다리지 않습니다.It does not wait for an acknowledgement from the mirror server. 즉, 미러 서버에서 로그를 디스크에 쓸 때까지 기다리지 않고 트랜잭션이 커밋됩니다.This means that transactions commit without waiting for the mirror server to write the log to disk. 비동기 작업을 통해 주 서버는 최소 트랜잭션 대기 시간으로 실행될 수 있지만 데이터가 손실될 수 있는 위험이 있습니다.Such asynchronous operation enables the principal server to run with minimum transaction latency, at the potential risk of some data loss.

모든 데이터베이스 미러링 세션은 주 서버와 미러 서버를 각각 하나씩만 지원합니다.All database mirroring sessions support only one principal server and one mirror server. 다음 그림에서는 이 구성을 보여 줍니다.This configuration is shown in the following illustration.

데이터베이스 미러링 세션의 파트너Partners in a database mirroring session

자동 장애 조치(failover) 있는 보호 우선 모드를 사용하려면 미러링 모니터 서버라는 세 번째 서버 인스턴스가 필요합니다.High-safety mode with automatic failover requires a third server instance, known as a witness. 미러링 모니터 서버는 두 파트너와는 달리 데이터베이스를 제공하지 않습니다.Unlike the two partners, the witness does not serve the database. 미러링 모니터 서버는 주 서버가 작동하는지 여부만 확인하여 자동 장애 조치(Failover)를 지원합니다.The witness supports automatic failover by verifying whether the principal server is up and functioning. 미러 서버는 미러 서버 및 미러링 모니터 서버가 주 서버와 연결이 끊어진 후에도 서로 연결되어 있는 경우에만 자동 장애 조치를 시작합니다.The mirror server initiates automatic failover only if the mirror and the witness remain connected to each other after both have been disconnected from the principal server.

다음 그림에서는 미러링 모니터 서버가 포함된 구성을 보여 줍니다.The following illustration shows a configuration that includes a witness.

미러링 모니터 서버가 포함된 미러링 세션A mirroring session that includes a witness

자세한 내용은 이 항목의 뒷부분에 나오는 역할 전환을 참조하세요.For more information, see Role Switching, later in this topic.

참고

새 미러링 세션을 설정하거나 기존 미러링 구성에 미러링 모니터 서버를 추가하려면 관련된 모든 서버 인스턴스가 같은 버전의 SQL ServerSQL Server를 실행해야 합니다.Establishing a new mirroring session or adding a witness to an existing mirroring configuration requires that all involved server instances run the same version of SQL ServerSQL Server. 그러나 SQL Server 2008SQL Server 2008 이상 버전으로 업그레이드하면 관련된 인스턴스의 버전이 다를 수 있습니다.However, when you are upgrading to SQL Server 2008SQL Server 2008 or a later version, the versions of the involved instances can vary. 자세한 내용은 Upgrading Mirrored Instances을 참조하세요.For more information, see Upgrading Mirrored Instances.

트랜잭션 보안 및 운영 모드Transaction Safety and Operating Modes

트랜잭션 보안 설정에 따라 동기 또는 비동기 운영 모드가 결정됩니다.Whether an operating mode is asynchronous or synchronous depends on the transaction safety setting. SQL Server Management StudioSQL Server Management Studio 만 사용하여 데이터베이스 미러링을 구성하는 경우 운영 모드를 선택할 때 자동으로 트랜잭션 보안 설정이 구성됩니다.If you exclusively use SQL Server Management StudioSQL Server Management Studio to configure database mirroring, transaction safety settings are configured automatically when you select the operation mode.

Transact-SQLTransact-SQL 을 사용하여 데이터베이스 미러링을 구성하는 경우 트랜잭션 보안 설정 방법을 알아야 합니다.If you use Transact-SQLTransact-SQL to configure database mirroring, you must understand how to set transaction safety. 트랜잭션 보안은 ALTER DATABASE 문의 SAFETY 속성으로 조정합니다.Transaction safety is controlled by the SAFETY property of the ALTER DATABASE statement. 미러되는 데이터베이스에서 SAFETY는 FULL 또는 OFF 중 하나입니다.On a database that is being mirrored, SAFETY is either FULL or OFF.

  • SAFETY 옵션이 FULL로 설정되어 있으면 데이터베이스 미러링 작업이 초기 동기화 단계 이후 동기적으로 수행됩니다.If the SAFETY option is set to FULL, database mirroring operation is synchronous, after the initial synchronizing phase. 보호 우선 모드로 미러링 모니터 서버를 설정하면 세션에서 자동 장애 조치(Failover)를 지원합니다.If a witness is set in high-safety mode, the session supports automatic failover.

  • SAFETY 옵션이 OFF로 설정되어 있으면 데이터베이스 미러링 작업이 비동기적으로 수행됩니다.If the SAFETY option is set to OFF, database mirroring operation is asynchronous. 세션은 성능 우선 모드로 실행되며 WITNESS 옵션도 OFF여야 합니다.The session runs in high-performance mode, and the WITNESS option should also be OFF.

    자세한 내용은 Database Mirroring Operating Modes을 참조하세요.For more information, see Database Mirroring Operating Modes.

역할 전환Role Switching

데이터베이스 미러링 세션에서는 역할 전환프로세스를 통해 주 역할과 미러 역할을 서로 바꿀 수 있습니다.Within the context of a database mirroring session, the principal and mirror roles are typically interchangeable in a process known as role switching. 역할 전환 시 주 역할을 미러 서버로 이전해야 합니다.Role switching involves transferring the principal role to the mirror server. 역할 전환에서 미러 서버는 주 서버의 장애 조치(Failover) 파트너 역할을 합니다.In role switching, the mirror server acts as the failover partner for the principal server. 역할이 전환되면 미러 서버가 주 역할을 맡고 해당 데이터베이스의 복사본을 새로운 주 데이터베이스로 사용할 수 있도록 온라인 상태로 만듭니다.When a role switch occurs, the mirror server takes over the principal role and brings its copy of the database online as the new principal database. 이전 주 서버(사용 가능한 경우)는 미러 역할을 맡고 해당 데이터베이스는 새로운 미러 데이터베이스가 됩니다.The former principal server, if available, assumes the mirror role, and its database becomes the new mirror database. 역할은 상호 전환할 수 있습니다.Potentially, the roles can switch back and forth repeatedly.

역할 전환에는 다음과 같은 세 가지 형식이 있습니다.The following three forms of role switching exist.

  • Automatic failoverAutomatic failover

    보호 우선 모드가 필요하며 미러 서버와 미러링 모니터 서버가 있어야 합니다.This requires high-safety mode and the presence of the mirror server and a witness. 데이터베이스는 이미 동기화된 상태여야 하고 미러링 모니터 서버가 미러 서버에 연결되어 있어야 합니다.The database must already be synchronized, and the witness must be connected to the mirror server.

    미러링 모니터 서버의 역할은 지정된 파트너 서버가 실행되고 있는지 여부를 확인하는 것입니다.The role of the witness is to verify whether a given partner server is up and functioning. 미러 서버와 주 서버 사이의 연결은 끊어졌지만 미러링 모니터 서버가 여전히 주 서버에 연결되어 있으면 미러 서버에서 장애 조치(Failover)를 시작하지 않습니다.If the mirror server loses its connection to the principal server but the witness is still connected to the principal server, the mirror server does not initiate a failover. 자세한 내용은 데이터베이스 미러링 모니터 서버를 참조하세요.For more information, see Database Mirroring Witness.

  • Manual failoverManual failover

    보호 우선 모드가 필요합니다.This requires high-safety mode. 파트너가 서로 연결되어 있어야 하며 데이터베이스는 이미 동기화된 상태여야 합니다.The partners must be connected to each other, and the database must already be synchronized.

  • 강제 서비스 (데이터 손실 가능)Forced service (with possible data loss)

    성능 우선 모드 및 자동 장애 조치(Failover) 없는 보호 우선 모드에서는 주 서버가 실패했으며 미러 서버가 사용 가능한 경우 강제 서비스를 사용할 수 있습니다.Under high-performance mode and high-safety mode without automatic failover, forcing service is possible if the principal server has failed and the mirror server is available.

    중요

    성능 우선 모드는 미러링 모니터 서버 없이 실행되도록 설계되었습니다.High-performance mode is intended to run without a witness. 그러나 미러링 모니터 서버가 있는 경우 강제 서비스를 사용하려면 미러링 모니터 서버가 미러 서버에 연결되어 있어야 합니다.But if a witness exists, forcing service requires that the witness is connected to the mirror server.

    모든 역할 전환 시나리오에서 새로운 주 데이터베이스가 온라인 상태가 되면 클라이언트 응용 프로그램에서 해당 데이터베이스에 다시 연결하여 신속하게 복구할 수 있습니다.In any role-switching scenario, as soon as the new principal database comes online, the client applications can recover quickly by reconnecting to the database.

동시 세션Concurrent Sessions

지정된 서버 인스턴스는 같은 서버 인스턴스 또는 다른 서버 인스턴스에 있는 여러 개의 동시 데이터베이스 미러링 세션(미러된 데이터베이스당 한 번)에 참여할 수 있습니다.A given server instance can participate in multiple, concurrent database mirroring sessions (once per mirrored database) with the same or different server instances. 모든 데이터베이스 미러링 세션에서 서버 인스턴스가 파트너나 미러링 모니터 서버로만 사용되는 경우가 많습니다.Often, a server instance serves exclusively as a partner or a witness in all of its database mirroring sessions. 그러나 각 세션은 다른 세션과 독립적이므로 서버 인스턴스가 일부 세션에서는 파트너 역할을 하고 다른 세션에서는 미러링 모니터 서버 역할을 할 수 있습니다.However, because each session is independent of the other sessions, a server instance can act as a partner in some sessions and as a witness in other sessions. 예를 들어 3개 서버 인스턴스(SSInstance_1, SSInstance_2SSInstance_3)에서의 다음 4개 세션을 고려합니다.For example, consider the following four sessions among three server instances (SSInstance_1, SSInstance_2, and SSInstance_3). 각 서버 인스턴스가 일부 세션에서는 파트너 역할을 하고 다른 세션에서는 미러링 모니터 서버 역할을 합니다.Each server instance serves as a partner in some sessions and as a witness in others:

서버 인스턴스Server instance 데이터베이스 A에 대한 세션Session for database A 데이터베이스 B에 대한 세션Session for database B 데이터베이스 C에 대한 세션Session for database C 데이터베이스 D에 대한 세션Session for database D
SSInstance_1 미러링 모니터Witness 파트너Partner 파트너Partner 파트너Partner
SSInstance_2 파트너Partner 미러링 모니터Witness 파트너Partner 파트너Partner
SSInstance_3 파트너Partner 파트너Partner 미러링 모니터Witness 미러링 모니터Witness

다음 그림에서는 두 미러링 세션에서 함께 파트너로 참여하는 두 서버 인스턴스를 보여 줍니다.The following figure illustrates two server instances that are participating as partners together in two mirroring sessions. 한 세션은 Db_1이라는 데이터베이스에 대한 세션이고 다른 세션은 Db_2라는 데이터베이스에 대한 세션입니다.One session is for a database named Db_1, and the other session is for a database named Db_2.

두 동시 세션의 두 서버 인스턴스Two server instances in two concurrent sessions

각 데이터베이스는 서로 독립적입니다.Each of the databases is independent of the others. 예를 들어 서버 인스턴스는 초기에 두 데이터베이스의 미러 서버일 수 있습니다.For example, a server instance might initially be the mirror server for two databases. 두 데이터베이스 중 하나가 장애 조치를 수행할 경우 서버 인스턴스는 장애 조치를 수행한 데이터베이스의 주 서버가 되는 한편 다른 데이터베이스에 대해서는 계속 미러 서버 역할을 수행합니다.If one of those databases fails over, the server instance becomes the principal server for the failed-over database while remaining the mirror server for the other database.

또 다른 예로 서버 인스턴스가 자동 장애 조치 있는 보호 우선 모드에서 실행 중인 둘 이상의 데이터베이스에 대해 주 서버가 된다고 가정합니다. 서버 인스턴스가 실패하면 모든 데이터베이스는 해당하는 각 미러 데이터베이스에 대해 자동으로 장애 조치(Failover)를 수행합니다.As another example, consider a server instance that is the principal server for two or more databases running in high-safety mode with automatic failover, If the server instance fails, all of the databases automatically failover to their respective mirror databases.

서버 인스턴스가 파트너 및 미러링 모니터 두 가지 모두로 작동하도록 설정하는 경우 데이터베이스 미러링 끝점이 두 역할을 모두 지원해야 합니다. 자세한 내용은 데이터베이스 미러링 끝점(SQL Server))When setting up a server instance to operate both as a partner and a witness, be sure that the database mirroring endpoint supports both roles (for more information, see The Database Mirroring Endpoint (SQL Server)). 또한 리소스 충돌을 줄이기 위해 시스템에 충분한 리소스가 있어야 합니다.Also, ensure that the system has sufficient resources to reduce resource contention.

참고

미러된 데이터베이스는 서로 독립적이므로 여러 데이터베이스에 대한 장애 조치를 하나의 그룹으로 처리할 수 없습니다.Because mirrored databases are independent of each other, databases cannot fail over as a group.

클라이언트 연결Client Connections

데이터베이스 미러링 세션에 대한 클라이언트 연결 지원은 MicrosoftMicrosoftSQL ServerSQL Server.NET Data Provider에서 제공합니다.Client-connection support for database mirroring sessions is provided by the MicrosoftMicrosoft .NET Data Provider for SQL ServerSQL Server. 자세한 내용은 이 항목의 뒷부분에 나오는 데이터베이스 미러링 세션에 클라이언트 연결(SQL Server)을 참조하세요.For more information, see Connect Clients to a Database Mirroring Session (SQL Server).

세션을 일시 중지할 경우 주 서버의 트랜잭션 로그에 미치는 영향Impact of Pausing a Session on the Principal Transaction Log

데이터베이스 소유자는 언제든지 세션을 일시 중지할 수 있습니다.At any time, the database owner can pause a session. 일시 중지는 미러링을 제거하는 동안 세션 상태를 유지합니다.Pausing preserves the session state while removing mirroring. 세션이 일시 중지되면 주 서버에서 새 로그 레코드를 미러 서버로 보내지 않습니다.When a session is paused, the principal server does not send any new log records to the mirror server. 이러한 레코드는 모두 활성 상태로 유지되며 주 데이터베이스의 트랜잭션 로그에 누적됩니다.All of these records remain active and accumulate in the transaction log of the principal database. 데이터베이스 미러링 세션이 일시 중지된 동안에는 트랜잭션 로그를 자를 수 없습니다.As long as a database mirroring session remains paused, the transaction log cannot be truncated. 따라서 데이터베이스 미러링 세션을 너무 오래 일시 중지하면 로그가 가득 찰 수 있습니다.Therefore, if the database mirroring session is paused for too long, the log can fill up.

자세한 내용은 이 항목의 뒷부분에 나오는 데이터베이스 미러링 일시 중지 및 재개(SQL Server)을 참조하세요.For more information, see Pausing and Resuming Database Mirroring (SQL Server).

데이터베이스 미러링 세션 설정Setting Up Database Mirroring Session

미러링 세션을 시작하려면 먼저 데이터베이스 소유자 또는 시스템 관리자가 미러 데이터베이스를 만들고 끝점과 로그인을 설정해야 하며 경우에 따라서는 인증서를 만들고 설정해야 합니다.Before a mirroring session can begin, the database owner or system administrator must create the mirror database, set up endpoints and logins, and, in some cases, create and set up certificates. 자세한 내용은 이 항목의 뒷부분에 나오는 데이터베이스 미러링 설정(SQL Server)을 참조하세요.For more information, see Setting Up Database Mirroring (SQL Server).

다른 데이터베이스 엔진 기능과의 상호 운용성 및 공존성Interoperability and Coexistence with Other Database Engine Features

데이터베이스 미러링은 다음의 SQL ServerSQL Server기능 또는 구성 요소와 함께 사용할 수 있습니다.Database mirroring can be used with the following features or components of SQL ServerSQL Server.

섹션 내용In This Section

데이터베이스 미러링을 위한 필수 구성 요소, 제한 사항 및 권장 사항Prerequisites, Restrictions, and Recommendations for Database Mirroring
데이터베이스 미러링을 설정하기 위한 사전 요구 사항과 권장 사항에 대해 설명합니다.Describes the prerequisites and recommendations for setting up database mirroring.

Database Mirroring Operating ModesDatabase Mirroring Operating Modes
데이터베이스 미러링 세션의 동기 운영 모드 및 비동기 운영 모드에 대해 설명하고 데이터베이스 미러링 세션 동안 파트너 역할을 전환하는 방법에 대해 설명합니다.Contains information about the synchronous and asynchronous operating modes for database mirroring sessions, and about switching partner roles during a database mirroring session.

데이터베이스 미러링 모니터 서버Database Mirroring Witness
데이터베이스 미러링 시 미러링 모니터 서버의 역할, 여러 미러링 세션에서 단일 미러링 모니터 서버를 사용하는 방법, 미러링 모니터 서버에 대한 소프트웨어 및 하드웨어 권장 사항, 자동 장애 조치(failover) 시 미러링 모니터 서버의 역할을 설명합니다.Describes the role of a witness in database mirroring, how to use a single witness in multiple mirroring sessions, software and hardware recommendations for witnesses, and the role of the witness in automatic failover. 미러링 모니터 서버를 추가 또는 제거하는 방법에 대해서도 설명합니다.It also contains information about adding or removing a witness.

데이터베이스 미러링 세션 중 역할 전환(SQL Server)Role Switching During a Database Mirroring Session (SQL Server)
자동 장애 조치(failover), 수동 장애 조치 및 강제 적용된 서비스(데이터가 손실될 수 있음) 등의 데이터베이스 미러링 세션 동안 파트너 역할을 전환하는 방법에 대해 설명합니다.Contains information about switching partner roles during a database mirroring session, including automatic failover, manual failover, and forced service (with possible data loss). 또한 역할 전환 중에 서비스가 중단될 가능성을 평가하는 방법에 대해 설명합니다.Also, contains information about estimating the interruption of service during role switching.

데이터베이스 미러링 중에 발생 가능한 오류Possible Failures During Database Mirroring
데이터베이스 미러링 세션에서 오류를 발생시킬 수 있는 물리적 문제, 운영 체제 문제 및 SQL ServerSQL Server 문제(하드 오류 및 소프트 오류 포함)에 대해 설명합니다.Discusses physical, operating system, and SQL ServerSQL Server problems, including hard errors and soft errors, that can cause a failure in a database mirroring session. 미러링 시간 제한 메커니즘이 소프트 오류에 대처하는 방식에 대해서도 설명합니다.Discusses how the mirroring time-out mechanism responds to soft errors.

데이터베이스 미러링 끝점(SQL Server)The Database Mirroring Endpoint (SQL Server)
데이터베이스 미러링 끝점의 작동 방법에 대해 설명합니다.Discusses how the database mirroring endpoint functions.

데이터베이스 미러링 설정(SQL Server)Setting Up Database Mirroring (SQL Server)
데이터베이스 미러링을 설정하기 위한 사전 요구 사항, 권장 사항 및 단계에 대한 항목을 제공합니다.Contains topics about the prerequisites, recommendations, and steps for setting up database mirroring.

데이터베이스 미러링 세션에 클라이언트 연결(SQL Server)Connect Clients to a Database Mirroring Session (SQL Server)
클라이언트를 미러된 데이터베이스에 연결 및 다시 연결하기 위한 알고리즘과 클라이언트 연결 문자열 특성에 대한 항목을 제공합니다.Contains topics covering client connection-string attributes and the algorithms for connecting and reconnecting a client to a mirrored database.

데이터베이스 미러링 일시 중지 및 재개(SQL Server)Pausing and Resuming Database Mirroring (SQL Server)
트랜잭션 로그 잘림에 미치는 영향을 포함하여 데이터베이스 미러링이 일시 중지된 동안 발생하는 상황을 설명하고, 데이터베이스 미러링을 일지 중지 및 재개하는 방법에 대해 설명합니다.Discusses what happens while database mirroring is paused, including the impact on transaction log truncation, and contains descriptions about how to pause and resume database mirroring.

데이터베이스 미러링 제거(SQL Server)Removing Database Mirroring (SQL Server)
미러링을 제거할 경우의 영향과 세션을 종료하는 방법에 대해 설명합니다.Discusses the impact of removing mirroring and contains descriptions about how to end a session

데이터베이스 미러링 모니터링(SQL Server)Monitoring Database Mirroring (SQL Server)
데이터베이스 미러링 모니터 또는 dbmmonitor 저장 프로시저를 사용하여 데이터베이스 미러링이나 세션을 모니터링하는 방법에 대해 설명합니다.Contains information about using Database Mirroring Monitor or the dbmmonitor stored procedures to monitor database mirroring or sessions.

관련 태스크Related Tasks

구성 태스크Configuration Tasks

SQL Server Management Studio 사용Using SQL Server Management Studio

관리 태스크Administrative Tasks

Transact-SQLTransact-SQL

참고 항목See Also

데이터베이스 미러링 끝점(SQL Server) The Database Mirroring Endpoint (SQL Server)
자동 페이지 복구(가용성 그룹: 데이터베이스 미러링) Automatic Page Repair (Availability Groups: Database Mirroring)
데이터베이스 미러링 구성 문제 해결(SQL Server) Troubleshoot Database Mirroring Configuration (SQL Server)
데이터베이스 미러링: 상호 운용성 및 공존성(SQL Server) Database Mirroring: Interoperability and Coexistence (SQL Server)
데이터베이스 미러링을 위한 필수 조건, 제한 사항 및 권장 사항 Prerequisites, Restrictions, and Recommendations for Database Mirroring
Always On 가용성 그룹 개요(SQL Server) Overview of Always On Availability Groups (SQL Server)
로그 전달 정보(SQL Server)About Log Shipping (SQL Server)