예제: 데이터베이스의 증분 복원(전체 복구 모델)
적용 대상: SQL Server
증분 복원 시퀀스는 주 파일 그룹에서 시작하여 모든 읽기-쓰기 파일 그룹, 보조 파일 그룹의 순서로 파일 그룹 수준에서 데이터베이스를 복원하고 복구합니다.
이 예제에서는 재해가 발생한 후 데이터베이스 adb
가 새 컴퓨터로 복원됩니다. 데이터베이스가 전체 복구 모델을 사용하고 있습니다. 따라서 복원이 시작되기 전에 데이터베이스의 비상 로그 백업을 수행해야 합니다. 재해가 발생하기 전에 모든 파일 그룹이 온라인 상태입니다. B
파일 그룹이 읽기 전용입니다. 모든 보조 파일 그룹을 복원해야 하지만 중요도에 따라 순서대로 복원됩니다(A
(가장 높음), C
, B
). 이 예제에는 비상 로그 백업을 포함하여 4개의 로그 백업이 있습니다.
비상 로그 백업
데이터베이스를 복원하기 전에 데이터베이스 관리자는 비상 로그를 백업해야 합니다. 데이터베이스가 손상되었으므로 비상 로그 백업을 만들려면 NO_TRUNCATE 옵션을 사용해야 합니다.
BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE
비상 로그 백업은 다음 복원 시퀀스에 적용되는 마지막 백업입니다.
복원 시퀀스
참고 항목
온라인 복원 시퀀스의 구문은 오프라인 복원 시퀀스의 구문과 동일합니다.
주 및 보조 파일 그룹
A
의 부분 복원입니다.RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 WITH PARTIAL, NORECOVERY RESTORE DATABASE adb FILEGROUP='A' FROM backup2 WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
파일 그룹
C
의 온라인 복원입니다.이 시점에서 주 파일 그룹 및
A
파일 그룹이 온라인입니다.B
및C
파일 그룹의 모든 파일이 복구 보류 중이며 파일 그룹은 오프라인 상태입니다.1단계의 마지막
RESTORE LOG
문에서 보낸 메시지는 이 파일 그룹을 사용할 수 없기 때문에C
파일 그룹과 관련된 트랜잭션의 롤백이 지연되었음을 나타냅니다. 정기적인 작업은 계속할 수 있지만 이러한 트랜잭션에 의해 잠금이 유지되고 롤백이 완료될 때까지 로그 잘림이 발생하지 않습니다.2번째 복원 시퀀스에서 데이터베이스 관리자는 파일 그룹
C
를 복원합니다.RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
이 시점에서 주 파일 그룹 및 파일 그룹
A
와C
가 온라인입니다. 파일 그룹의B
파일은 복구 보류 상태로 유지되며 파일 그룹은 오프라인 상태입니다. 지연된 트랜잭션이 해결되고 로그 잘림이 발생합니다.파일 그룹
B
의 온라인 복원입니다.
3번째 복원 시퀀스에서 데이터베이스 관리자는 파일 그룹 B
를 복원합니다. B
파일 그룹의 백업은 파일 그룹이 읽기 전용이 된 후에 수행되었으므로 복구하는 동안 롤 포워드할 필요가 없습니다.
RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY
이제 모든 파일 그룹이 온라인 상태입니다.
추가 예
참고 항목
BACKUP(Transact-SQL)
온라인 복원(SQL Server)
트랜잭션 로그 백업 적용(SQL Server)
RESTORE(Transact-SQL)
증분 복원(SQL Server)