예제: 데이터베이스의 증분 복원(전체 복구 모델)Example: Piecemeal Restore of Database (Full Recovery Model)

이 항목은 다음에 적용됩니다. 예SQL Server(2016부터 시작)아니요Azure SQL 데이터베이스아니요Azure SQL 데이터 웨어하우스아니요병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

증분 복원 시퀀스는 주 파일 그룹에서 시작하여 모든 읽기/쓰기가 가능한 모든 보조 파일 그룹의 순서로 파일 그룹 수준에서 데이터베이스를 복원하고 복구합니다.A piecemeal restore sequence restores and recovers a database in stages at the filegroup level, beginning with the primary and all read-write, secondary filegroups.

이 예에서 adb 데이터베이스는 재해 발생 후 새 컴퓨터에 복원됩니다.In this example, database adb is restored to a new computer after a disaster. 데이터베이스에서 전체 복구 모델을 사용하고 있으므로 복원이 시작되기 전에 데이터베이스의 비상 로그 백업을 만들어야 합니다.The database is using the full recovery model; therefore, before the restore starts, a tail-log backup must be taken of the database. 재해가 발생하기 전에 모든 파일 그룹은 온라인 상태입니다.Before the disaster, all the filegroups are online. 파일 그룹 B 는 읽기 전용입니다.Filegroup B is read-only. 모든 보조 파일 그룹이 복원되어야 합니다. 단, 복원은 A (가장 중요), C, B와 같은 중요도 순으로 이루어져야 합니다.All of the secondary filegroups must be restored, but they are restored in order of importance: A (highest), C, and lastly B. 이 예에서는 비상 로그 백업을 포함하여 4개의 로그 백업이 있습니다.In this example, there are four log backups, including the tail-log backup.

비상 로그 백업Tail-Log Backup

데이터베이스를 복원하기 전에 데이터베이스 관리자는 비상 로그 백업을 만들어야 합니다.Before restoring the database, the database administrator must back up the tail of the log. 데이터베이스가 손상되었으므로 비상 로그 백업을 만들려면 NO_TRUNCATE 옵션을 사용해야 합니다.Because the database is damaged, creating the tail-log backup requires using the NO_TRUNCATE option:

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

비상 로그 백업은 다음 복원 시퀀스에서 마지막으로 적용되는 백업입니다.The tail-log backup is the last backup that is applied in the following restore sequences.

복원 시퀀스Restore Sequences

참고

온라인 복원 시퀀스의 구문은 오프라인 복원 시퀀스의 구문과 동일합니다.The syntax for an online restore sequence is the same as for an offline restore sequence.

  1. 주 파일 그룹과 보조 파일 그룹 A를 부분 복원합니다.Partial restore of the primary and secondary filegroup A.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
       WITH PARTIAL, NORECOVERY  
    RESTORE DATABASE adb FILEGROUP='A' FROM backup2   
       WITH NORECOVERY  
    RESTORE LOG adb FROM backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    
  2. 파일 그룹 C를 온라인 복원합니다.Online restore of filegroup C.

    이때 주 파일 그룹과 보조 파일 그룹 A 는 온라인입니다.At this point, the primary filegroup and secondary filegroup A are online. 파일 그룹 BC 의 모든 파일은 복구가 보류된 상태이며 파일 그룹은 오프라인입니다.All the files in filegroups B and C are recovery pending, and the filegroups are offline.

    1단계에서 마지막 RESTORE LOG 문의 메시지는 파일 그룹 C 를 사용할 수 없어 이 파일 그룹에 관련된 트랜잭션 롤백이 지연되었음을 나타냅니다.Messages from the last RESTORE LOG statement in step 1 indicate that rollback of transactions that involve filegroup C was deferred, because this filegroup is not available. 일반적인 작업은 계속할 수 있지만 이러한 트랜잭션에 의해 잠금이 유지되며 롤백이 완료되기 전에는 로그 잘림이 발생하지 않습니다.Regular operations can continue, but locks are held by these transactions and log truncation will not occur until the rollback can complete.

    두 번째 복원 시퀀스에서 데이터베이스 관리자는 파일 그룹 C를 복원합니다.In the second restore sequence, the database administrator restores filegroup C:

    RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY  
    RESTORE LOG adb FROM backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    

    이 시점에서 주 파일 그룹 및 파일 그룹 AC 가 온라인입니다.At this point the primary and filegroups A and C are online. 파일 그룹 B 의 파일은 복구가 보류된 상태이며 파일 그룹은 오프라인입니다.Files in filegroup B remain recovery pending, with the filegroup offline. 지연된 트랜잭션이 해결되고 로그 잘림이 발생합니다.Deferred transactions have been resolved, and log truncation occurs.

  3. 파일 그룹 B를 온라인 복원합니다.Online restore of filegroup B.

    3번째 복원 시퀀스에서 데이터베이스 관리자는 파일 그룹 B를 복원합니다.In the third restore sequence, the database administrator restores filegroup B. 파일 그룹 B 는 파일 그룹이 읽기 전용이 된 후 백업했으므로 복구 중에 롤포워드할 필요가 없습니다.The backup of filegroup B was taken after the filegroup became read-only; therefore, it does not have to be rolled forward during recovery.

    RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY  
    

    이제 모든 파일 그룹이 온라인입니다.All filegroups are now online.

추가 예Additional Examples

참고 항목See Also

BACKUP(Transact-SQL) BACKUP (Transact-SQL)
온라인 복원(SQL Server) Online Restore (SQL Server)
트랜잭션 로그 백업 적용(SQL Server) Apply Transaction Log Backups (SQL Server)
RESTORE(Transact-SQL) RESTORE (Transact-SQL)
증분 복원(SQL Server) Piecemeal Restores (SQL Server)