비상 로그 백업(SQL Server)Tail-Log Backups (SQL Server)

이 항목에서는 전체 또는 대량 로그 복구 모델을 사용하는 SQL ServerSQL Server 데이터베이스의 백업 및 복원과 관련된 내용을 다룹니다.This topic is relevant only for backup and restore of SQL ServerSQL Server databases that are using the full or bulk-logged recovery models.

비상 로그 백업 에서는 아직 백업되지 않은 로그 레코드를 캡처하여( 비상 로그) 캡처하여 작업 손실을 방지하고 로그 체인을 그대로 유지합니다.A tail-log backup captures any log records that have not yet been backed up (the tail of the log) to prevent work loss and to keep the log chain intact. SQL ServerSQL Server 데이터베이스를 마지막 시점으로 복구하려면 트랜잭션 비상 로그를 백업해야 합니다.Before you can recover a SQL ServerSQL Server database to its latest point in time, you must back up the tail of its transaction log. 비상 로그 백업은 데이터베이스에 대한 복구 계획의 마지막 백업입니다.The tail-log backup will be the last backup of interest in the recovery plan for the database.

참고: 모든 복원 시나리오에서 비상 로그 백업이 필요한 것은 아닙니다.NOTE: Not all restore scenarios require a tail-log backup. 복구 시점이 이전 로그 백업에 포함될 경우에는 비상 로그 백업이 필요하지 않습니다.You do not need a tail-log backup if the recovery point is contained in an earlier log backup. 데이터베이스를 이동 또는 대체(덮어쓰기)하며 가장 최근 백업 이후의 시점으로 이를 복원할 필요가 없을 경우에도 비상 로그 백업이 필요하지 않습니다.Also, a tail-log backup is unnecessary if you are moving or replacing (overwriting) a database and do not need to restore it to a point of time after its most recent backup.

비상 로그 백업이 필요한 시나리오 Scenarios That Require a Tail-Log Backup

다음과 같은 경우에는 비상 로그 백업을 수행하는 것이 좋습니다.We recommend that you take a tail-log backup in the following scenarios:

  • 데이터베이스가 온라인이며 데이터베이스에서 복원 작업을 수행하려는 경우 먼저 비상 로그를 백업합니다.If the database is online and you plan to perform a restore operation on the database, begin by backing up the tail of the log. 온라인 데이터베이스에 대한 오류를 방지하려면 다음을 사용해야 합니다.To avoid an error for an online database, you must use the … BACKUP Transact-SQLTransact-SQL 문의 WITH NORECOVERY 옵션입니다.WITH NORECOVERY option of the BACKUP Transact-SQLTransact-SQL statement.

  • 데이터베이스가 오프라인이고 시작되지 않아서 데이터베이스를 복원해야 할 경우 먼저 비상 로그를 백업합니다.If a database is offline and fails to start and you need to restore the database, first back up the tail of the log. 이 시점에서는 트랜잭션이 발생할 수 없으므로 WITH NORECOVERY 옵션의 사용은 선택 사항입니다.Because no transactions can occur at this time, using the WITH NORECOVERY is optional.

  • 데이터베이스가 손상된 경우 BACKUP 문의 WITH CONTINUE_AFTER_ERROR 옵션을 사용하여 비상 로그 백업을 수행합니다.If a database is damaged, try to take a tail-log backup by using the WITH CONTINUE_AFTER_ERROR option of the BACKUP statement.

    손상된 데이터베이스에 대한 비상 로그 백업은 로그 파일이 손상되지 않고, 데이터베이스가 비상 로그 백업을 지원하는 상태에 있고, 데이터베이스에 대량 로깅된 변경 내용이 없는 경우에만 성공할 수 있습니다.On a damaged database backing up the tail of the log can succeed only if the log files are undamaged, the database is in a state that supports tail-log backups, and the database does not contain any bulk-logged changes. 배상 로그 백업을 만들 수 없는 경우 마지막 로그 백업 이후에 커밋된 모든 트랜잭션은 손실됩니다.If a tail-log backup cannot be created, any transactions committed after the latest log backup are lost.

    다음 표에는 BACKUP NORECOVERY 및 CONTINUE_AFTER_ERROR 옵션이 요약되어 있습니다.The following table summarizes the BACKUP NORECOVERY and CONTINUE_AFTER_ERROR options.

BACKUP LOG 옵션BACKUP LOG option 설명Comments
NORECOVERYNORECOVERY 데이터베이스에서 복원 작업을 계속하려는 경우 NORECOVERY를 사용합니다.Use NORECOVERY whenever you intend to continue with a restore operation on the database. NORECOVERY는 데이터베이스를 복원 중인 상태로 만듭니다.NORECOVERY takes the database into the restoring state. 이렇게 하면 비상 로그 백업 후 데이터베이스가 변경되지 않습니다.This guarantees that the database does not change after the tail-log backup. NO_TRUNCATE 옵션 또는 COPY_ONLY 옵션을 함께 지정하지 않으면 로그가 잘립니다.The log will be truncated unless the NO_TRUNCATE option or COPY_ONLY option is also specified.

** 중요 *\* 데이터베이스가 손상된 경우가 아니면 NO_TRUNCATE는 사용하지 마세요.** Important *\* Avoid using NO_TRUNCATE, except when the database is damaged.
CONTINUE_AFTER_ERRORCONTINUE_AFTER_ERROR 손상된 데이터베이스의 비상 로그를 백업하는 경우에만 CONTINUE_AFTER_ERROR를 사용합니다.Use CONTINUE_AFTER_ERROR only if you are backing up the tail of a damaged database.

손상된 데이터베이스에서 비상 로그 백업을 사용하는 경우에는 일반적으로 로그 백업에서 캡처되는 메타데이터 일부를 사용할 수 없을 수 있습니다.When you use back up the tail of the log on a damaged database, some of the metadata ordinarily captured in log backups might be unavailable. 자세한 내용은 이 항목의 완전하지 않은 백업 메타데이터가 포함된 비상 로그 백업을 참조하세요.For more information, see Tail-Log Backups That Have Incomplete Backup Metadata, in this topic.

완전하지 않은 백업 메타데이터가 포함된 비상 로그 백업 Tail-Log Backups That Have Incomplete Backup Metadata

비상 로그 백업은 데이터베이스가 오프라인이거나 손상되었거나 데이터 파일이 없는 경우에도 비상 로그를 캡처합니다.Tail log backups capture the tail of the log even if the database is offline, damaged, or missing data files. 이로 인해 복원 정보 명령과 msdb의 메타데이터가 완전하지 않을 수 있습니다.This might cause incomplete metadata from the restore information commands and msdb. 그러나 메타데이터가 완전하지 않은 경우에도 캡처된 로그는 완전한 상태이며 사용 가능합니다.However, only the metadata is incomplete; the captured log is complete and usable.

비상 로그 백업에 완전하지 않은 메타데이터가 있으면 backupset 테이블의 has_incomplete_metadata1로 설정됩니다.If a tail-log backup has incomplete metadata, in the backupset table, has_incomplete_metadata is set to 1. 또한 RESTORE HEADERONLY출력에서 HasIncompleteMetadata1로 설정됩니다.Also, in the output of RESTORE HEADERONLY, HasIncompleteMetadata is set to 1.

비상 로그 백업의 메타데이터가 완전하지 않으면 backupfilegroup 테이블은 비상 로그 백업 당시 파일 그룹에 대한 대부분의 정보를 잃게 됩니다.If the metadata in a tail-log backup is incomplete, the backupfilegroup table will be missing most of the information about filegroups at the time of the tail-log backup. 대부분의 backupfilegroup 테이블 열은 NULL이 되며 다음 열만 의미를 갖습니다.Most of the backupfilegroup table columns are NULL; the only meaningful columns are as follows:

  • backup_set_idbackup_set_id

  • filegroup_idfilegroup_id

  • 유형type

  • type_desctype_desc

  • is_readonlyis_readonly

비상 로그 백업을 만들려면 데이터베이스가 손상된 경우 트랜잭션 로그 백업(SQL Server)을 참조하세요.To create a tail-log backup, see Back Up the Transaction Log When the Database Is Damaged (SQL Server).

트랜잭션 로그 백업을 복원하려면 트랜잭션 로그 백업 복원(SQL Server)을 참조하세요.To restore a transaction log backup, see Restore a Transaction Log Backup (SQL Server).

관련 항목:See Also

BACKUP(Transact-SQL) BACKUP (Transact-SQL)
RESTORE(Transact-SQL) RESTORE (Transact-SQL)
SQL Server 데이터베이스 백업 및 복원 Back Up and Restore of SQL Server Databases
복사 전용 백업(SQL Server) Copy-Only Backups (SQL Server)
트랜잭션 로그 백업(SQL Server) Transaction Log Backups (SQL Server)
트랜잭션 로그 백업 적용(SQL Server) Apply Transaction Log Backups (SQL Server)