데이터베이스 미러링을 위한 필수 구성 요소, 제한 사항 및 권장 사항Prerequisites, Restrictions, and Recommendations for Database Mirroring

참고

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.

이 항목에서는 데이터베이스 미러링을 설정하기 위한 사전 요구 사항 및 권장 사항에 대해 설명합니다.This topic describes the prerequisites and recommendations for setting up database mirroring. 데이터베이스 미러링에 대한 소개는 데이터베이스 미러링(SQL Server)을 참조하세요.For an introduction to database mirroring, see Database Mirroring (SQL Server).

데이터베이스 미러링 지원 Support For Database Mirroring

SQL Server 2017SQL Server 2017의 데이터베이스 미러링 지원에 대한 자세한 내용은 SQL Server 2016의 버전 및 지원하는 기능을 참조하세요.For information about support for database mirroring in SQL Server 2017SQL Server 2017, see Editions and Supported Features for SQL Server 2016.

데이터베이스 미러링은 지원되는 모든 데이터베이스 호환성 수준에서 작동합니다.Note that database mirroring works with any supported database compatibility level. 지원되는 호환성 수준에 대한 자세한 내용은 ALTER DATABASE 호환성 수준(Transact-SQL)을 참조하세요.For information about the supported compatibility levels, see ALTER DATABASE Compatibility Level (Transact-SQL).

필수 구성 요소 Prerequisites

  • 미러링 세션을 설정하려면 파트너 및 미러링 모니터 서버(있는 경우)가 같은 버전의 SQL ServerSQL Server에서 실행되어야 합니다.For a mirroring session to be established, the partners and the witness, if any, must be running on the same version of SQL ServerSQL Server.

  • 각각 주 서버와 미러 서버인 두 파트너가 같은 버전의 SQL ServerSQL Server를 실행해야 합니다.The two partners, that is the principal server and mirror server, must be running the same edition of SQL ServerSQL Server. 미러링 모니터 서버(있는 경우)는 데이터베이스 미러링을 지원하는 SQL ServerSQL Server 의 모든 버전에서 실행할 수 있습니다.The witness, if any, can run on any edition of SQL ServerSQL Server that supports database mirroring.

    참고

    미러링 세션의 파트너인 서버 인스턴스를 최신 버전의 SQL ServerSQL Server로 업그레이드할 수 있습니다.You can upgrade server instances that are partners in a mirroring session to a more recent version of SQL ServerSQL Server. 자세한 내용은 Upgrading Mirrored Instances을 참조하세요.For more information, see Upgrading Mirrored Instances.

  • 이 데이터베이스는 전체 복구 모델을 사용해야 합니다.The database must use the full recovery model. 단순 복구 모델 및 대량 로그 복구 모델에서는 데이터베이스 미러링이 지원되지 않습니다.The simple and bulk-logged recovery models do not support database mirroring. 따라서 대량 작업이 미러링된 데이터베이스에 대해 항상 전체 로깅됩니다.Therefore, bulk operations are always fully logged for a mirrored database. 복구 모델에 대한 자세한 내용은 복구 모델(SQL Server)을 참조하세요.For information about recovery models, see Recovery Models (SQL Server).

  • 미러 서버에 미러 데이터베이스를 위한 디스크 공간이 충분히 있는지 확인합니다.Verify that the mirror server has sufficient disk space for the mirror database.

    참고

    복제된 데이터베이스에서 데이터베이스 미러링을 사용하는 방법은 데이터베이스 미러링 및 복제(SQL Server)를 참조하세요.For information about how to use database mirroring on a replicated database, see Database Mirroring and Replication (SQL Server).

  • 미러 서버에 미러 데이터베이스를 만들 때는 WITH NORECOVERY로 동일한 데이터베이스 이름을 지정하여 주 데이터베이스의 백업을 복원하도록 해야 합니다.When you are creating the mirror database on the mirror server, make sure that you restore the backup of the principal database specifying the same database name WITH NORECOVERY. 백업 후에 생성된 모든 로그 백업 또한 WITH NORECOVERY를 사용하여 적용해야 합니다.Also, all log backups that were created after that backup was taken must also be applied, again WITH NORECOVERY.

    중요

    데이터베이스 미러링이 중지된 경우 주 데이터베이스에서 수행된 모든 후속 로그 백업을 미러 데이터베이스에 적용해야만 미러링을 다시 시작할 수 있습니다.If database mirroring has been stopped, before you can restart it, any subsequent log backups taken on the principal database must be applied to the mirror database.

제한 사항 Restrictions

  • 사용자 데이터베이스만 미러링할 수 있습니다.Only user databases can be mirrored. master, msdb, tempdb또는 model 데이터베이스는 미러링할 수 없습니다.You cannot mirror the master, msdb, tempdb, or model databases.

  • 데이터베이스 미러링 세션 동안에는 미러된 데이터베이스의 이름을 바꿀 수 없습니다.A mirrored database cannot be renamed during a database mirroring session.

  • 데이터베이스 미러링은 FILESTREAM을 지원하지 않습니다.Database mirroring does not support FILESTREAM. 주 서버에서 FILESTREAM 파일 그룹을 만들 수 없습니다.A FILESTREAM filegroup cannot be created on the principal server. FILESTREAM 파일 그룹이 포함된 데이터베이스에 대해 데이터베이스 미러링을 구성할 수 없습니다.Database mirroring cannot be configured for a database that contains FILESTREAM filegroups.

  • 데이터베이스 미러링은 데이터베이스 간 트랜잭션 또는 분산 트랜잭션에서 지원되지 않습니다.Database mirroring is not supported with either cross-database transactions or distributed transactions. 자세한 내용은 Always On 가용성 그룹 및 데이터베이스 미러링에 대한 데이터베이스 간 트랜잭션 및 분산 트랜잭션(SQL Server)를 참조하세요.For more information, see Cross-Database Transactions and Distributed Transactions for Always On Availability Groups and Database Mirroring (SQL Server).

파트너 서버 구성에 대한 권장 사항 Recommendations for Configuring Partner Servers

  • 동일한 작업을 처리할 수 있는 동등한 시스템에서 파트너를 실행해야 합니다.The partners should run on comparable systems that can handle identical workloads.

    참고

    자동 장애 조치(Failover)가 있는 보호 우선 모드를 사용하려면 각 장애 조치(Failover) 파트너의 일반적인 로드에서 사용하는 CPU 양이 50% 미만이어야 합니다.If you plan to use high-safety mode with automatic failover, the normal load on each failover partner should be less than 50 percent of the CPU. 작업이 CPU를 오버로드하면 장애 조치(Failover) 파트너에서 미러링 세션의 다른 서버 인스턴스에 ping을 실행할 수 없어If your work load overloads the CPU, a failover partner might be unable to ping the other server instances in the mirroring session. 불필요한 장애 조치가 발생할 수 있습니다.This causes a unnecessary failover. CPU 사용을 50% 미만으로 유지할 수 없는 경우 자동 장애 조치 없는 보호 우선 모드나 성능 우선 모드를 사용하는 것이 좋습니다.If you cannot keep the CPU usage under 50 percent, we recommend that you use either high-safety mode without automatic failover or high-performance mode.

  • 가능한 경우 드라이브 문자를 포함한 미러 데이터베이스의 경로가 주 데이터베이스의 경로와 같아야 합니다.If possible, the path (including the drive letter) of the mirror database should be identical to the path of the principal database. 파일 레이아웃이 다른 경우 RESTORE 문에 MOVE 옵션을 포함해야 합니다.You must include the MOVE option in the RESTORE statement if the file layouts must differ. 예를 들어 주 데이터베이스가 'F:' 드라이브에 있는데 미러링 시스템에는 F: 드라이브가 없을 수 있습니다.For example, if the principal database is on drive 'F:' but the mirror system lacks an F: drive.

    중요

    미러 데이터베이스를 만들 때 데이터베이스 파일을 이동한 경우 나중에 데이터베이스에 파일을 추가하려면 미러링을 일시 중지해야 할 수도 있습니다.If you move the database files when you create the mirror database, you might be unable to add files to the database later without mirroring being suspended.

  • 미러링 세션의 모든 서버 인스턴스에서 같은 마스터 코드 페이지와 데이터 정렬을 사용해야 합니다.All of the server instances in a mirroring session should use the same master code page and collation. 차이가 있으면 미러링 설정 중에 문제가 발생할 수 있습니다.Differences can cause a problem during mirroring setup.

  • 필요에 따라 데이터베이스 장애 조치에 걸리는 시간을 예상하여 현재 시스템 구성이 필요한 성능을 제공하는지 확인합니다.Optionally, estimate the time to fail over a database, to make sure that the system configuration will provide the performance you require. 자세한 내용은 역할 전환 중 서비스 중단 예측(데이터베이스 미러링)을 참조하세요.For more information, see Estimate the Interruption of Service During Role Switching (Database Mirroring).

  • 최상의 성능을 위해 미러링 전용 네트워크 어댑터(네트워크 인터페이스 카드)를 사용하십시오.For best performance, use a dedicated network adapter (network interface card) for mirroring.

  • 보호 우선 모드 사용 시 WAN(광역 통신망)은 데이터베이스 미러링에 대해 안정적이지 않을 수 있습니다.We make no recommendations about whether a wide-area network (WAN) is reliable enough for database mirroring in high-safety mode. WAN에서 보호 우선 모드를 사용할 경우 필요 없는 자동 장애 조치가 발생할 수 있으므로 세션에 미러링 모니터 서버를 추가하는 방식에 대해 주의해야 합니다.If you decide to use high-safety mode over a WAN, be cautious about how you add a witness to the session, because unwanted automatic failovers can occur. 자세한 내용은 이 항목의 뒷부분에 나오는 데이터베이스 미러링 배포 시의 권장 구성을 참조하십시오.For more information, see Recommendations for Deploying Database Mirroring, later in this topic.

데이터베이스 미러링 배포 시의 권장 구성 Recommendations for Deploying Database Mirroring

비동기 작업을 사용하면 데이터베이스 미러링 성능이 최적화됩니다.Optimal database mirroring performance is obtained by using asynchronous operation. 동기 작업을 사용하는 미러링 세션의 경우 작업에서 대량의 트랜잭션 로그 데이터가 생성될 때 성능이 저하될 수 있습니다.A mirroring session that uses synchronous operation might experience slowed performance when its workload generates large amounts of transaction log data.

테스트 환경에서 모든 운영 모드를 시험하여 데이터베이스 미러링 성능을 평가하는 것도 좋지만In test environments, it is appropriate to explore all the operating modes to evaluate how database mirroring performs. 프로덕션 환경에 미러링을 배포하기 전에 실제 네트워크 작동 방식을 이해하는 것이 중요합니다.However, before you deploy mirroring into a production environment, make sure that you understand how the network functions in the real world.

자동 장애 조치 있는 보호 우선 모드는 가능한 네트워크 오류 출처를 최소화하는 비교적 단순한 네트워크 구성이나 전용 연결이 있는 고품질 서비스 네트워크를 위해 설계되었습니다.High-safety mode with automatic failover is designed for a high-service network that has either a dedicated connection or a fairly simple network configuration that minimizes the sources of possible network failures. 이러한 고품질 네트워크 환경은 자동 장애 조치 있는 보호 우선 모드에 반드시 필요하며 모든 데이터베이스 미러링 세션에 권장됩니다.Such a high-quality network environment is necessary for high-safety mode with automatic failover and is recommended for all database mirroring sessions. 그러나 성능 우선 모드와 자동 장애 조치 없는 보호 우선 모드는 네트워크 안정성의 영향을 훨씬 적게 받습니다.However, high-performance mode and high-safety mode without automatic failover are much less affected by network reliability.

따라서 프로덕션 환경에 대해 다음 배포 지침을 따르는 것이 좋습니다.Therefore, for production environments we recommend that you adhere to the following deployment guidelines:

  1. 비동기 성능 우선 모드로 실행하기 시작합니다.Start running in asynchronous, high-performance mode. 이 모드는 네트워크 환경의 영향을 가장 적게 받으며 미러링 작동 방식을 살펴 보기에 가장 좋은 구성을 제공합니다.This mode is the least sensitive to the network environment and provides the best configuration for exploring how mirroring works. 대역폭이 미러링을 지원한다는 것이 확인되고 환경에서의 비동기 모드 성능과 미러링 설정을 충분히 이해할 때까지 시스템을 비동기적으로 실행하는 것이 좋습니다.We recommend that you run your system asynchronously until you are confident that your bandwidth supports mirroring and you have developed an understanding of mirroring setup and of the performance of asynchronous mode in your environment. 자세한 내용은 Database Mirroring Operating Modes을 참조하세요.For more information, see Database Mirroring Operating Modes.

    중요

    테스트 작업 중 세션에서 데이터베이스 미러링 실패를 발생시키는 네트워크 오류를 모니터링하는 것이 좋습니다.Throughout testing, we recommend that you monitor your sessions for network errors that cause database mirroring to fail. 잠재적 오류 출처에 대한 자세한 내용은 Possible Failures During Database Mirroring를 참조하십시오.For more information about potential sources of failure, see Possible Failures During Database Mirroring. 데이터베이스 미러링을 모니터링하는 방법은 데이터베이스 미러링 모니터링(SQL Server)을 참조하세요.For information about how to monitor database mirroring, see Monitoring Database Mirroring (SQL Server).

  2. 비동기 작업이 비즈니스 요구를 만족시킨다고 확신하는 경우 데이터 보호를 향상시키기 위해 동기 작업을 시도할 수 있습니다.When you are confident that asynchronous operation is meeting the business needs, you might want to try synchronous operation to improve your data protection. 환경에서 동기 미러링이 어떻게 작동하는지 테스트할 때는 먼저 자동 장애 조치 없는 보호 우선 모드를 테스트하는 것이 좋습니다.When you test how synchronous mirroring works in your environment, we recommend that first you test high-safety mode without automatic failover. 이 테스트의 주요 목적은 동기 작업이 데이터베이스 성능에 미치는 영향을 확인하는 것입니다.The primary purpose of this testing is to see how synchronous operation affects the database performance. 자세한 내용은 Database Mirroring Operating Modes을 참조하세요.For more information, see Database Mirroring Operating Modes.

  3. 자동 장애 조치 없는 보호 우선 모드에서 비즈니스 요구를 만족시키며 네트워크 오류로 인해 실패하지 않는다고 확신하기 전에는 자동 장애 조치를 설정하지 마십시오.Wait to enable automatic failover until you are confident that high-safety mode without automatic failover is meeting the business needs and that network errors are not causing failures. 자세한 내용은 데이터베이스 미러링 세션 중 역할 전환(SQL Server)를 다운로드하세요.For more information, see Role Switching During a Database Mirroring Session (SQL Server).

관련 항목:See Also

데이터베이스 미러링 설정(SQL Server) Setting Up Database Mirroring (SQL Server)
데이터베이스 미러링 및 Always On 가용성 그룹에 대한 전송 보안(SQL Server) Transport Security for Database Mirroring and Always On Availability Groups (SQL Server)
데이터베이스 미러링(SQL Server) Database Mirroring (SQL Server)
데이터베이스 미러링 구성 문제 해결(SQL Server)Troubleshoot Database Mirroring Configuration (SQL Server)