특정 시간으로 복구

파랑 데이터베이스 디스크를 나타내는 아이콘 이 항목에서는 전체 복구 모델 또는 대량 로그 복구 모델을 사용하는 SQL Server 데이터베이스와 관련된 내용을 다룹니다.

대량 로그 복구 모델에서 로그 백업에 대량 로그 변경 내용이 있을 경우 해당 백업 내의 지점으로 지정 시간 복구를 수행할 수 없습니다. 이 경우에는 데이터베이스를 트랜잭션 로그 백업의 끝으로 복구해야 합니다.

특정 시간으로 복원하려면

특정 시간으로 복원하기 위한 Transact-SQL 구문

[!참고] 특정 시간이나 표시된 트랜잭션을 지정하기 위한 구문은 Microsoft SQL Server 2000에서와 같지만 이제 RESTORE DATABASE 및 RESTORE LOG에 적용됩니다.

데이터베이스를 특정 시간으로 복원하기 위해 RESTORE 문에서는 대개 로그 백업을 복원할 때 사용되는 STOPAT 옵션을 제공합니다.

기본 구문은 다음과 같습니다.

RESTORE LOG database_name FROM <backup_device> WITH STOPAT =time, RECOVERY…

복구 지점은 time에 지정된 datetime 값 또는 그 전에 발생한 최근 트랜잭션 커밋입니다.

특정 시점 이전에 수정한 내용만 복원하려면 복원하는 각 백업에 대해 WITH STOPAT **=**time을 지정합니다. 이렇게 하면 대상 시간을 지나지치 않게 됩니다.

일반적으로 지정 시간 복원 시퀀스에는 다음 단계가 포함됩니다.

  • 데이터베이스를 복구하지 않고 마지막 전체 데이터베이스 백업과 마지막 차등 데이터베이스 백업(있는 경우)을 복원합니다(RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY).
  • 로그 복원을 중지할 시간을 지정하고 각 트랜잭션 로그 백업을 생성된 순서대로 적용합니다(RESTORE DATABASE database_name FROM <backup_device> WITH STOPAT**=time,** RECOVERY).

자세한 내용은 데이터베이스를 백업 내 지점으로 복원을 참조하십시오.

참고 항목

개념

트랜잭션 로그 백업 적용
표시된 트랜잭션 사용(전체 복구 모델)
SQL Server에서의 백업 복원 및 복구 작동 방법 이해

관련 자료

backupset(Transact-SQL)
RESTORE(Transact-SQL)
RESTORE HEADERONLY(Transact-SQL)
SQL Server 데이터베이스에 대한 복원 시나리오 구현
데이터베이스를 백업 내 지점으로 복원
SQL Server 데이터베이스에 대한 복원 시퀀스 작업

도움말 및 정보

SQL Server 2005 지원 받기