실패 지점으로 데이터베이스 복원 - 전체 복구Restore Database to Point of Failure - Full Recovery

이 항목은 다음에 적용됩니다. 예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

이 항목에서는 실패한 지점으로 복원하는 방법에 대해 설명합니다.This topic explains how to restore to the point of failure. 이 항목은 전체 복구 모델 또는 대량 로그 복구 모델을 사용하는 데이터베이스에만 해당됩니다.The topic is relevant only for databases that are using the full or bulk-logged recovery models.

실패한 지점으로 복원하려면To restore to the point of failure

  1. 다음의 기본 BACKUP 문을 실행하여 비상 로그를 백업합니다.Back up the tail of the log by running the following basic BACKUP statement:

    BACKUP LOG <database_name> TO <backup_device>   
       WITH NORECOVERY, NO_TRUNCATE;  
    
  2. 다음의 기본 RESTORE DATABASE 문을 실행하여 전체 데이터베이스 백업을 복원합니다.Restore a full database backup by running the following basic RESTORE DATABASE statement:

    RESTORE DATABASE <database_name> FROM <backup_device>   
       WITH NORECOVERY;  
    
  3. 필요에 따라 다음의 기본 RESTORE DATABASE 문을 실행하여 차등 데이터베이스 백업을 복원합니다.Optionally, restore a differential database backup by running the following basic RESTORE DATABASE statement:

    RESTORE DATABASE <database_name> FROM <backup_device>   
       WITH NORECOVERY;  
    
  4. RESTORE LOG 문에 WITH NORECOVERY를 지정하여 1단계에서 만든 비상 로그 백업을 포함하는 각 트랜잭션 로그를 적용합니다.Apply each transaction log, including the tail-log backup you created in step 1, by specifying WITH NORECOVERY in the RESTORE LOG statement:

    RESTORE LOG <database_name> FROM <backup_device>   
       WITH NORECOVERY;  
    
  5. 다음의 RESTORE DATABASE 문을 실행하여 데이터베이스를 복구합니다.Recover the database by running the following RESTORE DATABASE statement:

    RESTORE DATABASE <database_name>   
       WITH RECOVERY;  
    

예제Example

예를 실행하려면 우선 다음 준비를 완료해야 합니다.Before you can run the example, you must complete the following preparations:

  1. AdventureWorks2012AdventureWorks2012 데이터베이스의 기본 복구 모델은 단순 복구 모델입니다.The default recovery model of the AdventureWorks2012AdventureWorks2012 database is the simple recovery model. 이 복구 모델에서는 실패한 지점에 대한 복원을 지원하지 않으므로 다음의 AdventureWorks2012AdventureWorks2012 ALTER DATABASE 문을 실행하여 전체 복구 모델을 사용하도록 를 설정합니다.Because this recovery model does not support restoring to the point of a failure, set AdventureWorks2012AdventureWorks2012 to use the full recovery model by running the following ALTER DATABASE statement:

    USE master;  
    GO  
    ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;  
    
  2. 다음 BACKUP 문을 사용하여 데이터베이스의 전체 데이터베이스 백업을 만듭니다.Create a full database back of the database by using the following BACKUP statement:

    BACKUP DATABASE AdventureWorks2012 TO DISK = 'C:\AdventureWorks2012_Data.bck';  
    
  3. 일상적인 로그 백업 생성:Create a routine log backup:

    BACKUP LOG AdventureWorks2012 TO DISK = 'C:\AdventureWorks2012_Log.bck';  
    

    다음 예에서는 AdventureWorks2012AdventureWorks2012 데이터베이스의 비상 로그 백업을 만든 후 이전에 만들어진 백업을 복원합니다.The following example restores the backups that are created previously, after creating a tail-log backup of the AdventureWorks2012AdventureWorks2012 database. 이 단계에서는 로그 디스크에 액세스할 수 있다고 가정합니다.(This step assumes that the log disk can be accessed.)

    우선 이 예에서는 활성 로그를 캡처하는 데이터베이스의 비상 로그 백업을 만들고 데이터베이스를 복원 중인 상태로 둡니다.First, the example creates a tail-log backup of the database that captures the active log and leaves the database in the Restoring state. 그런 다음 데이터베이스 백업을 복원하고 이전에 만든 일상적인 로그 백업을 적용한 후 비상 로그 백업을 적용합니다.Then, the example restores the database backup, applies the routine log backup created previously, and applies the tail-log backup. 끝으로 별도의 단계로 데이터베이스를 복구합니다.Finally, the example recovers the database in a separate step.

참고

기본 동작은 최종 백업을 복원하는 문의 일부로 데이터베이스를 복구하는 것입니다.The default behavior is to recover a database as part of the statement that restores the final backup.

/* Example of restoring a to the point of failure */  
-- Step 1: Create a tail-log backup by using WITH NORECOVERY.  
BACKUP LOG AdventureWorks2012  
   TO DISK = 'C:\AdventureWorks2012_Log.bck'  
   WITH NORECOVERY;  
GO  
-- Step 2: Restore the full database backup.  
RESTORE DATABASE AdventureWorks2012  
   FROM DISK = 'C:\AdventureWorks2012_Data.bck'  
   WITH NORECOVERY;  
GO  
-- Step 3: Restore the first transaction log backup.  
RESTORE LOG AdventureWorks2012  
   FROM DISK = 'C:\AdventureWorks2012_Log.bck'  
   WITH NORECOVERY;  
GO  
-- Step 4: Restore the tail-log backup.  
RESTORE LOG AdventureWorks2012  
   FROM  DISK = 'C:\AdventureWorks2012_Log.bck'  
   WITH NORECOVERY;  
GO  
-- Step 5: Recover the database.  
RESTORE DATABASE AdventureWorks2012  
   WITH RECOVERY;  
GO  

참고 항목See Also

BACKUP(Transact-SQL) BACKUP (Transact-SQL)
RESTORE(Transact-SQL) RESTORE (Transact-SQL)