미러 데이터베이스의 미러링 준비(SQL Server)Prepare a Mirror Database for Mirroring (SQL Server)

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse 데이터베이스 미러링 세션을 시작하기 전에 데이터베이스 소유자나 시스템 관리자는 미러 데이터베이스가 생성되었으며 미러링 준비가 완료되었는지 확인해야 합니다. Before a database mirroring session can start, the database owner or system administrator must make sure that the mirror database has been created and is ready for mirroring. 새 미러 데이터베이스를 만들려면 최소한 주 데이터베이스의 전체 백업과 후속 로그 백업이 필요하며 WITH NORECOVERY를 사용하여 두 백업을 모두 미러 서버 인스턴스로 복원해야 합니다.Creating a new mirror database minimally requires taking a full backup of the principal database and a subsequent log backup and restoring them both onto the mirror server instance, using WITH NORECOVERY.

이 항목에서는 SQL Server 2017SQL Server 2017 또는 SQL Server Management StudioSQL Server Management Studio 을 사용하여 Transact-SQLTransact-SQL에 미러 데이터베이스를 준비하는 방법에 대해 설명합니다.This topic describes how to prepare a mirror database in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

시작하기 전 주의 사항Before You Begin

요구 사항Requirements

  • 주 서버와 미러 서버 인스턴스가 같은 버전의 SQL ServerSQL Server에서 실행되고 있어야 합니다.The principal and mirror server instances must be running on the same version of SQL ServerSQL Server. 미러 서버에 상위 버전의 SQL Server가 있을 수 있지만 이 구성은 세심하게 계획된 업그레이드 프로세스 중에만 권장됩니다.While it is possible for the mirror server to have a higher version of SQL Server, this configuration is only recommended during a carefully planned upgrade process. 이 구성에서 자동 장애 조치(failover)가 발생할 수 있습니다. 이 경우 데이터를 하위 버전의 SQL Server로 옮길 수 없으므로 데이터 이동이 자동으로 중지됩니다.In such a configuration, you run the risk of an automatic failover, in which data movement is automatically suspended because data cannot move to a lower version of SQL Server. 자세한 내용은 Upgrading Mirrored Instances을 참조하세요.For more information, see Upgrading Mirrored Instances.

  • 주 서버와 미러 서버 인스턴스가 같은 에디션의 SQL ServerSQL Server에서 실행되고 있어야 합니다.The principal and mirror server instances must be running on the same edition of SQL ServerSQL Server. SQL Server 2017SQL Server 2017의 데이터베이스 미러링 지원에 대한 자세한 내용은 SQL Server 2017의 버전 및 지원되는 기능을 참조하세요.For information about support for database mirroring in SQL Server 2017SQL Server 2017, see Editions and Supported features of SQL Server 2017.

  • 이 데이터베이스는 전체 복구 모델을 사용해야 합니다.The database must use the full recovery model.

    자세한 내용은 데이터베이스 복구 모델 보기 또는 변경(SQL Server) 또는 sys.databases(Transact-SQL)ALTER DATABASE(Transact-SQL)를 참조하세요.For more information, see View or Change the Recovery Model of a Database (SQL Server) or sys.databases (Transact-SQL) and ALTER DATABASE (Transact-SQL).

  • 미러 데이터베이스의 이름은 주 데이터베이스의 이름과 같아야 합니다.The name of the mirror database must be the same as the name of the principal database.

  • 미러링이 작동하려면 미러 데이터베이스가 RESTORING 상태여야 합니다.The mirror database must be in the RESTORING state for mirroring to work. 미러 데이터베이스를 준비할 때는 모든 복원 작업에 대해 RESTORE WITH NORECOVERY를 사용해야 합니다.When preparing a mirror database, you must use RESTORE WITH NORECOVERY for every restore operation. 최소한 NORECOVERY를 사용하여 주 데이터베이스의 전체 백업을 복원하고 이후의 모든 로그 백업을 복원해야 합니다.Minimally, you will need to restore WITH NORECOVERY a full backup of the principal database, followed by all subsequent log backups.

  • 미러 데이터베이스를 만들려는 시스템에 미러 데이터베이스를 저장할 공간이 충분한 디스크 드라이브가 있어야 합니다.The system where you plan to create the mirror database must possesses a disk drive with sufficient space to hold the mirror database.

제한 사항Limitations and Restrictions

  • master, msdb, temp또는 model 시스템 데이터베이스는 미러링할 수 없습니다.You cannot mirror the master, msdb, temp, or model system databases.

  • Always On 가용성 그룹에 속한 데이터베이스는 미러링할 수 없습니다.You cannot mirror a database that belongs to an Always On availability group.

권장 사항Recommendations

  • 주 데이터베이스의 아주 최근 전체 데이터베이스 백업 또는 최근 차등 데이터베이스 백업을 사용합니다.Use a very recent full database backup or a recent differential database backup of the principal database.

  • 로그 백업 작업이 주 데이터베이스에서 자주 실행되도록 예약한 경우 미러링이 시작할 때까지 백업 작업을 사용하지 않도록 설정해야 할 수 있습니다.If a log backup job is scheduled to run very frequently on the principal database, you might have to disable the backup job until mirroring has started.

  • 가능한 경우 드라이브 문자를 포함한 미러 데이터베이스의 경로가 주 데이터베이스의 경로와 같아야 합니다.If possible, the path (including the drive letter) of the mirror database should be identical to the path of the principal database.

    주 데이터베이스는 'F:' 드라이브에 있는데 미러 시스템에는 F: 드라이브가 없는 경우 등 파일 경로가 달라야 하는 경우에는 RESTORE STATEMENT에 MOVE 옵션을 포함해야 합니다.If the file paths must differ, for example, if the principal database is on drive 'F:' but the mirror system lacks an F: drive, you must include the MOVE option in the RESTORE STATEMENT.

    중요

    미러링 세션에 영향을 주지 않고 해당 세션 중 파일을 추가하려면 파일의 경로가 두 서버 모두에 있어야 합니다.Adding a file during a mirroring session without impacting the session requires that the path of the file exists on both servers. 따라서 미러 데이터베이스를 만들 때 데이터베이스 파일을 이동하면 나중에 미러 데이터베이스에 파일을 추가할 수 없고 미러링이 일시 중지될 수 있습니다.Therefore, if you move the database files when creating the mirror database, a later add-file operation might fail on the mirror database and cause mirroring to be suspended. 실패한 파일 생성 작업을 처리하는 방법은 데이터베이스 미러링 구성 문제 해결(SQL Server)을 참조하세요.For information about dealing with a failed create-file operation, see Troubleshoot Database Mirroring Configuration (SQL Server).

  • 주 데이터베이스에 전체 텍스트 카탈로그가 있는 경우 데이터베이스 미러링 및 전체 텍스트 카탈로그(SQL Server)를 참조하는 것이 좋습니다.If the principal database has any full-text catalogs, we recommend that you see Database Mirroring and Full-Text Catalogs (SQL Server).

  • 프로덕션 데이터베이스의 경우에는 항상 별도의 장치에 백업해야 합니다.For a production database, always back up to a separate device.

보안Security

데이터베이스를 백업하면 TRUSTWORTHY가 OFF로 설정됩니다.TRUSTWORTHY is set to OFF when a database is backed up. 따라서 새 미러 데이터베이스의 TRUSTWORTHY는 항상 OFF입니다.Therefore, TRUSTWORTHY is always OFF on a new mirror database. 장애 조치(Failover) 후 데이터베이스를 신뢰할 수 있어야 하는 경우에는 추가 설정 단계가 필요합니다.If the database needs to be trustworthy after a failover, additional setup steps are necessary. 자세한 내용은 Trustworthy 속성을 사용하도록 미러 데이터베이스 설정(Transact-SQL)에 미러 데이터베이스를 준비하는 방법에 대해 설명합니다.For more information, see Set Up a Mirror Database to Use the Trustworthy Property (Transact-SQL).

미러 데이터베이스의 데이터베이스 마스터 키 자동 암호 해독을 설정하는 방법은 암호화된 미러 데이터베이스 설정을 참조하세요.For information about enabling automatic decryption of the database master key of a mirror database, see Set Up an Encrypted Mirror Database.

사용 권한Permissions

데이터베이스 소유자 또는 시스템 관리자입니다.Database owner or system administrator.

미러링을 다시 시작하기 위해 기존 미러 데이터베이스를 준비하려면To Prepare an Existing Mirror Database to Restart Mirroring

미러링이 제거되었고 미러 데이터베이스가 아직 RECOVERING 상태인 경우 미러링을 다시 시작할 수 있습니다.If mirroring has been removed and the mirror database is still in the RECOVERING state, you can restart mirroring.

  1. 주 데이터베이스에서 하나 이상의 로그 백업을 수행합니다.Take at least one log backup on the principal database. 자세한 내용은 트랜잭션 로그 백업(SQL Server)에 미러 데이터베이스를 준비하는 방법에 대해 설명합니다.For more information, see Back Up a Transaction Log (SQL Server).

  2. 미러 데이터베이스에서 RESTORE WITH NORECOVERY를 사용하여, 미러링이 제거된 후에 주 데이터베이스에서 수행한 모든 로그 백업을 복원합니다.On the mirror database, use RESTORE WITH NORECOVERY to restore all log backups taken on the principal database since mirroring was removed. 자세한 내용은 트랜잭션 로그 백업 복원(SQL Server)에 미러 데이터베이스를 준비하는 방법에 대해 설명합니다.For more information, see Restore a Transaction Log Backup (SQL Server).

새 미러 데이터베이스를 준비하려면To Prepare a New Mirror Database

미러 데이터베이스를 준비하려면To prepare a mirror database

참고

이 절차에 대한 Transact-SQLTransact-SQL 예는 이 섹션의 뒷부분에 나오는 예(Transact-SQL)를 참조하세요.For a Transact-SQLTransact-SQL example of this procedure, see Example (Transact-SQL), later in this section.

  1. 주 서버 인스턴스에 연결합니다.Connect to principal server instance.

  2. 주 데이터베이스의 전체 데이터베이스 백업 또는 차등 데이터베이스 백업을 만듭니다.Create either a full database backup or a differential database backup of the principal database.

  3. 일반적으로 주 데이터베이스에서 하나 이상의 로그 백업을 수행해야 합니다.Typically, you need to take at least one log backup on the principal database. 그러나 데이터베이스를 방금 만들었으며 아직 로그 백업이 수행되지 않은 경우 또는 복구 모델이 방금 SIMPLE에서 FULL로 변경된 경우에는 로그 백업이 필요하지 않을 수도 있습니다.However, a log backup might be unnecessary, if the database has just been created and no log backup has been taken yet, or if the recovery model has just been changed from SIMPLE to FULL.

  4. 두 시스템에서 액세스할 수 있는 네트워크 드라이브에 백업이 있지 않으면 데이터베이스 백업과 로그 백업을 미러 서버 인스턴스를 호스팅할 시스템에 복사합니다.Unless the backups are on a network drive that is accessible from both systems, copy the database and log backups to the system that will host the mirror server instance.

  5. 미러 서버 인스턴스에 연결합니다.Connect to mirror server instance.

  6. RESTORE WITH NORECOVERY를 통해 전체 데이터베이스 백업 및 필요에 따라 가장 최근의 차등 데이터베이스 백업을 미러 서버 인스턴스에 복원하여 미러 데이터베이스를 만듭니다.Using RESTORE WITH NORECOVERY, create the mirror database by restoring the full database backup and, optionally, the most recent differential database backup, onto the mirror server instance.

    참고

    파일 그룹별로 데이터베이스 파일 그룹을 복원하는 경우에는 전체 데이터베이스를 복원해야 합니다.If you restore the database filegroup by filegroup, be sure to restore the whole database.

  7. RESTORE WITH NORECOVERY를 사용하여 처리 중인 로그 백업을 미러 데이터베이스에 적용합니다.Using RESTORE WITH NORECOVERY, apply any outstanding log backup or backups to the mirror database.

예(Transact-SQL)Example (Transact-SQL)

데이터베이스 미러링 세션이 시작되기 전에 미러 데이터베이스를 만들어야 합니다.Before you can start a database mirroring session, you must create the mirror database. 이 작업은 미러링 세션을 시작하기 직전에 수행해야 합니다.You should do this just before starting the mirroring session.

이 예에서는 기본적으로 단순 복구 모델을 사용하는 AdventureWorks2012AdventureWorks2012 예제 데이터베이스를 사용합니다.This example uses the AdventureWorks2012AdventureWorks2012 sample database, which uses the simple recovery model by default.

  1. AdventureWorks2012AdventureWorks2012 데이터베이스에서 데이터베이스 미러링을 사용하려면 전체 복구 모델을 사용하도록 수정합니다.To use database mirroring with the AdventureWorks2012AdventureWorks2012 database, modify it to use the full recovery model:

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks   
    SET RECOVERY FULL;  
    GO  
    
  2. 데이터베이스 복구 모델을 SIMPLE에서 FULL로 변경한 후 미러 데이터베이스를 만드는 데 사용할 수 있는 전체 백업을 만듭니다.After modifying the recovery model of the database from SIMPLE to FULL, create a full backup, which can be used to create the mirror database. 복구 모델이 방금 변경되었으므로 WITH FORMAT 옵션을 지정하여 새 미디어 세트를 만듭니다.Because the recovery model has just been changed, the WITH FORMAT option is specified to create a new media set. 이 옵션은 단순 복구 모델에서 만든 이전 백업과 전체 복구 모델에서 만든 백업을 구분하는 데 유용합니다.This is useful to separate the backups under the full recovery model from any previous backups made under the simple recovery model. 이 예에서는 백업 파일(C:\AdventureWorks.bak)이 데이터베이스와 같은 드라이브에서 생성됩니다.For the purpose of this example, the backup file (C:\AdventureWorks.bak) is created on the same drive as the database.

    참고

    프로덕션 데이터베이스의 경우에는 항상 별도의 장치에 백업해야 합니다.For a production database, you should always back up to a separate device.

    PARTNERHOST1의 주 서버 인스턴스에서 주 데이터베이스의 전체 백업을 다음과 같이 만듭니다.On the principal server instance (on PARTNERHOST1), create a full backup of the principal database as follows:

    BACKUP DATABASE AdventureWorks   
        TO DISK = 'C:\AdventureWorks.bak'   
        WITH FORMAT  
    GO  
    
  3. 전체 백업을 미러 서버에 복사합니다.Copy the full backup to the mirror server.

  4. RESTORE WITH NORECOVERY를 사용하여 전체 백업을 미러 서버 인스턴스에 복원합니다.Using RESTORE WITH NORECOVERY, restore the full backup onto the mirror server instance. 복원 명령은 주 데이터베이스와 미러 데이터베이스의 경로가 동일한지 여부에 따라 달라집니다.The restore command depends on whether the paths of principal and mirror databases are identical.

    • 경로가 동일한 경우If the paths are identical:

      PARTNERHOST5의 미러 서버 인스턴스에서 전체 백업을 다음과 같이 복원합니다.On the mirror server instance (on PARTNERHOST5), restore the full backup as follows:

      RESTORE DATABASE AdventureWorks   
          FROM DISK = 'C:\AdventureWorks.bak'   
          WITH NORECOVERY  
      GO  
      
    • 경로가 다른 경우If the paths differ:

      미러 데이터베이스의 경로와 주 데이터베이스의 경로가 다른 경우(예: 드라이브 문자가 다른 경우) 미러 데이터베이스를 만들 때 복원 작업에 MOVE 절을 포함해야 합니다.If the path of the mirror database differs from the path of the principal database (for instance, their drive letters differ), creating the mirror database requires that the restore operation include a MOVE clause.

      중요

      주 데이터베이스 및 미러 데이터베이스의 경로 이름이 다른 경우 파일을 추가할 수 없습니다.If the path names of the principal and mirror databases differ, you cannot add a file. 이는 파일 추가 작업에 대한 로그를 받을 때 미러 서버 인스턴스가 주 데이터베이스에서 사용하는 위치에 새 파일을 배치하기 때문입니다.This is because on receiving the log for the add file operation, the mirror server instance attempts to place the new file in the location used by the principal database.

      예를 들어 다음 명령은 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\에 있는 주 데이터베이스의 백업을 미러 데이터베이스가 배치될 다른 위치인 D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\로 복원합니다.For example, the following command restores a backup of a principal database residing in C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\ to a different location, D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\, where the mirror database is to reside.

      RESTORE DATABASE AdventureWorks  
         FROM DISK='C:\AdventureWorks.bak'  
         WITH NORECOVERY,   
            MOVE 'AdventureWorks_Data' TO   
               'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks_Data.mdf',   
            MOVE 'AdventureWorks_Log' TO  
               'D:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\AdventureWorks_Log.ldf';  
      GO  
      
  5. 전체 백업을 만든 후 주 데이터베이스에서 로그 백업을 만들어야 합니다.After you create the full 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 full 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. 미러링을 시작하기 전에 추가 로그 백업이 수행되면 이러한 로그 백업도 WITH NORECOVERY를 사용하여 순서대로 미러 서버로 복원해야 합니다.If any additional log backups occur before you start mirroring, you must also restore all of those log backups, in sequence, to the mirror server using WITH NORECOVERY.

    예를 들어 다음 Transact-SQLTransact-SQL 문은 C:\AdventureWorks.bak에서 두 개의 로그를 추가로 복원합니다.For example, the following Transact-SQLTransact-SQL statement restores two additional logs from C:\AdventureWorks.bak:

    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\AdventureWorks.bak'   
        WITH FILE=2, NORECOVERY  
    GO  
    RESTORE LOG AdventureWorks   
        FROM DISK = 'C:\AdventureWorks.bak'   
        WITH FILE=3, NORECOVERY  
    GO  
    

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

후속 작업: 미러 데이터베이스를 준비한 후Follow Up: After Preparing a Mirror Database

  1. 대부분의 최근 RESTORE LOG 작업을 수행한 이후 추가 로그 백업이 수행된 경우 RESTORE WITH NORECOVERY를 사용하여 모든 추가 로그 백업을 수동으로 적용해야 합니다.If any additional log backups have been taken since your most recent RESTORE LOG operation, you must manually apply every additional log backup, using RESTORE WITH NORECOVERY.

  2. 미러링 추적을 시작합니다.Start the mirroring session. 자세한 내용은 Windows 인증을 사용하여 데이터베이스 미러링 세션 구성(SQL Server Management Studio) 을 사용하여 Windows 인증을 사용하여 데이터베이스 미러링 세션 구성(Transact-SQL)에 미러 데이터베이스를 준비하는 방법에 대해 설명합니다.For more information, see Establish a Database Mirroring Session Using Windows Authentication (SQL Server Management Studio) or Establish a Database Mirroring Session Using Windows Authentication (Transact-SQL).

  3. 주 데이터베이스에서 백업 작업을 해제한 경우 작업을 다시 설정합니다.If you disabled the backup job on the principal database, reenable the job.

  4. 장애 조치(Failover) 후 데이터베이스를 신뢰할 수 있어야 하는 경우에는 미러링이 시작된 다음 추가 설정 단계가 필요합니다.If the database needs to be trustworthy after a failover, extra setup steps are necessary after mirroring begins. 자세한 내용은 Trustworthy 속성을 사용하도록 미러 데이터베이스 설정(Transact-SQL)에 미러 데이터베이스를 준비하는 방법에 대해 설명합니다.For more information, see Set Up a Mirror Database to Use the Trustworthy Property (Transact-SQL).

관련 태스크Related Tasks

참고 항목See Also

데이터베이스 미러링(SQL Server) Database Mirroring (SQL Server)
데이터베이스 미러링 및 Always On 가용성 그룹에 대한 전송 보안(SQL Server) Transport Security for Database Mirroring and Always On Availability Groups (SQL Server)
데이터베이스 미러링 설정(SQL Server) Setting Up Database Mirroring (SQL Server)
전체 텍스트 카탈로그와 인덱스 백업 및 복원 Back Up and Restore Full-Text Catalogs and Indexes
데이터베이스 미러링 및 전체 텍스트 카탈로그(SQL Server) Database Mirroring and Full-Text Catalogs (SQL Server)
데이터베이스 미러링 및 복제(SQL Server) Database Mirroring and Replication (SQL Server)
BACKUP(Transact-SQL) BACKUP (Transact-SQL)
RESTORE(Transact-SQL) RESTORE (Transact-SQL)
RESTORE 인수(Transact-SQL)RESTORE Arguments (Transact-SQL)