파일 복원(전체 복구 모델)

이 항목에서는 전체 또는 대량 로드 복구 모델에서 데이터베이스에 여러 개의 파일 또는 파일 그룹이 있는 경우와 관련된 내용을 다룹니다.

파일 복원의 목표는 전체 데이터베이스를 복원하지 않고 하나 이상의 손상된 파일을 복원하는 것입니다. 파일 복원 시나리오는 해당 데이터를 복사하고 롤포워드하고 복구하는 단일 복원 시퀀스로 이루어집니다.

복원 중인 파일 그룹이 읽기/쓰기가 가능한 경우 손상되지 않은 로그 백업 체인은 마지막 데이터 또는 차등 백업이 복원된 후에 적용해야 합니다. 이를 통해 파일 그룹을 로그 파일에 있는 현재 활성 로그 레코드의 로그 레코드로 가져옵니다. 일반적으로 복구 지점은 로그의 후반부이지만 반드시 그런 것은 아닙니다.

복원 중인 파일 그룹이 읽기 전용인 경우 일반적으로 로그 백업을 적용할 필요가 없으므로 건너뜁니다. 파일이 읽기 전용 상태가 된 이후에 백업이 수행되면 마지막 백업이 복원되고 롤포워드가 대상 지점에서 정지됩니다.

파일 복원 시나리오는 다음과 같습니다.

  • 오프라인 파일 복원

    오프라인 파일 복원에서 손상된 파일 또는 파일 그룹이 복원되는 동안 데이터베이스는 오프라인 상태입니다. 복원 시퀀스의 마지막에 데이터베이스는 온라인 상태가 됩니다.

    모든 버전의 SQL Server 2012는 오프라인 파일 복원을 지원합니다.

  • 온라인 파일 복원

    온라인 파일 복원의 경우 데이터베이스가 복원 시점에 온라인 상태이면 파일 복원 중에 온라인 상태로 유지됩니다. 그러나 파일을 복원할 각 파일 그룹은 복원 작업 중에 오프라인 상태입니다. 오프라인 파일 그룹의 모든 파일이 복구되면 파일 그룹이 자동으로 온라인 상태가 됩니다.

    온라인 페이지 및 파일 복원 지원에 대한 자세한 내용은 SQL Server 2012 버전에서 지원하는 기능을 참조하십시오. 온라인 복원에 대한 자세한 내용은 온라인 복원(SQL Server)을 참조하십시오.

    팁

    파일 복원을 위해 데이터베이스를 오프라인 상태로 전환하려면 ALTER DATABASE 문, ALTER DATABASE database_name SET OFFLINE을 실행하여 복원 시퀀스를 시작하기 전에 데이터베이스를 오프라인으로 설정합니다.

항목 내용:

  • 파일 백업에서 손상된 파일 복원

  • 관련 태스크

파일 백업에서 손상된 파일 복원

  1. 하나 이상의 손상된 파일을 복원하려면 먼저 비상 로그 백업을 만듭니다.

    로그가 손상된 경우에는 비상 로그 백상을 만들 수 없으며 데이터베이스 전체를 복원해야 합니다.

    트랜잭션 로그 백업 방법은 트랜잭션 로그 백업(SQL Server)를 참조하십시오.

    중요 정보중요

    오프라인 파일을 복원하려면 이 파일을 복원하기 전에 비상 로그 백업을 수행해야 합니다. 온라인 파일을 복원하려면 이 파일을 복원한 후에 로그 백업을 수행해야 합니다. 이러한 로그 백업은 파일을 데이터베이스의 나머지 부분과 일치하는 상태로 복구해야 하기 때문에 필요합니다.

  2. 각 손상된 파일을 해당 파일의 최신 백업에서 복원합니다.

  3. 복원된 각 파일에 대한 가장 최근의 차등 파일 백업(있을 경우)을 복원합니다.

  4. 복원 파일 중 가장 오래된 것을 포함하는 백업부터 시작하여 1단계에서 만든 비상 로그 백업까지 트랜잭션 로그 백업을 순서대로 복원합니다.

    파일 백업 후에는 생성된 트랜잭션 로그 백업을 복원하여 데이터베이스와 일치하는 상태로 만들어야 합니다. 트랜잭션 로그 백업은 복원 파일에 적용된 변경 내용만 적용하므로 빨리 롤포워드할 수 있습니다. 손상되지 않은 파일은 복사되지 않고 롤포워드되므로 개별 파일 복원이 전체 데이터베이스 복원보다 나을 수 있습니다. 하지만 전체 로그 백업 체인은 읽기가 가능해야 합니다.

  5. 데이터베이스를 복구합니다.

[!참고]

파일 백업은 지정 시간 이전의 시점으로 데이터베이스를 복원하는 데 사용될 수 있습니다. 이렇게 하려면 파일 백업의 전체 세트를 복원한 후 최근 복원된 파일 백업 다음에 있는 대상 지점에 이를 때까지 순서대로 트랜잭션 로그 백업을 복원해야 합니다. 지정 시간 복구에 대한 자세한 내용은 SQL Server 데이터베이스를 지정 시간으로 복원(전체 복구 모델)을 참조하십시오.

오프라인 파일 복원을 위한 Transact-SQL 복원 시퀀스(전체 복구 모델)

파일 복원 시나리오는 해당 데이터를 복사하고 롤포워드하고 복구하는 단일 복원 시퀀스로 이루어집니다.

이 섹션에서는 파일 복원 시퀀스에 대한 필수 ms186858(v=sql.110).md RESTORE 옵션을 보여 줍니다. 이 용도와 관련 없는 구문 및 세부 사항은 생략됩니다.

다음 예에서는 WITH NORECOVERY를 사용하여 두 개의 보조 파일 A와 B를 오프라인 복원하는 경우를 보여 줍니다. 그런 다음 두 개의 로그 백업에 NORECOVERY를 적용한 다음 WITH RECOVERY를 사용하여 복원되는 비상 로그 백업을 실행합니다.

[!참고]

다음 예에서는 파일을 오프라인으로 전환하여 복원 시퀀스를 시작하고 비상 로그 백업을 만듭니다.

--Take the file offline.
ALTER DATABASE database_name MODIFY FILE SET OFFLINE;
-- Back up the currently active transaction log.
BACKUP LOG database_name
   TO <tail_log_backup>
   WITH NORECOVERY;
GO 
-- Restore the files.
RESTORE DATABASE database_name FILE=name 
   FROM <file_backup_of_file_A> 
   WITH NORECOVERY;
RESTORE DATABASE database_name FILE=<name> ......
   FROM <file_backup_of_file_B> 
   WITH NORECOVERY;
-- Restore the log backups.
RESTORE LOG database_name FROM <log_backup> 
   WITH NORECOVERY;
RESTORE LOG database_name FROM <log_backup> 
   WITH NORECOVERY;
RESTORE LOG database_name FROM <tail_log_backup> 
   WITH RECOVERY;

관련 태스크

파일과 파일 그룹을 복원하려면

[맨 위]

참고 항목

참조

RESTORE(Transact-SQL)

개념

백업 및 복원: 상호 운용성 및 공존성(SQL Server)

차등 백업(SQL Server)

전체 파일 백업(SQL Server)

백업 개요(SQL Server)

복원 및 복구 개요(SQL Server)

전체 데이터베이스 복원(단순 복구 모델)

증분 복원(SQL Server)