데이터베이스를 백업 내 지점으로 복원
이 항목에서는 전체 복구 모델 또는 대량 로그 복구 모델을 사용하는 SQL Server 데이터베이스와 관련된 내용을 다룹니다.
실패 지점 이전의 특정 지정 시간, 표시 또는 LSN(로그 시퀀스 번호)으로 데이터베이스를 복원 및 복구할 수 있습니다. 예를 들어 트랜잭션에 의해 일부 데이터가 잘못 변경된 경우 잘못된 데이터가 입력되기 직전의 복구 지점으로 데이터베이스를 복원할 수 있습니다. 데이터베이스의 복구 지점을 지정하는 복원을 지정 시간 복원이라고 합니다.
지정 시간 복원을 위한 복구 지점은 일반적으로 트랜잭션 로그 백업 내에 있습니다. 이 백업은 지정 시간 복원 시퀀스에서 사용되는 마지막 백업입니다. 이 로그 백업을 적용할 때 STOPAT, STOPATMARK 또는 STOPBEFOREMARK 절에 대상 복구 지점을 지정하여 해당 지점 앞에 오는 트랜잭션만 복구할 수 있습니다. 복구가 완료되면 데이터베이스의 시간은 주 파일을 복구한 복구 지점에 의해 결정됩니다. 후속 복원 작업이 있는 경우 복구 지점이 해당 시간의 데이터베이스와 일치해야 합니다.
대상 복구 지점은 다음 중 하나를 사용하여 지정합니다.
- 트랜잭션 로그 내의 특정 지정 시간
- 트랜잭션 로그 레코드에 삽입된 명명된 표시
- LSN(로그 시퀀스 번호)
[!참고] LSN으로 복구하는 것은 도구 공급업체를 위해 특별히 제작된 기능으로 일반적으로 유용한 기능은 아닙니다.
대상 복구 지점은 트랜잭션 로그 백업에 포함되어야 합니다. 또한 이 로그 백업은 지정 시간 복원 시퀀스를 시작할 때 복원된 부분 백업이나 전체 데이터베이스 백업과 동일한 복구 경로에 있어야 합니다.
[!참고] 대량 로그 복구 모델에서 로그 백업에 대량 로그 변경 내용이 있을 경우 해당 백업 내의 지점으로 지정 시간 복구를 수행할 수 없습니다. 이 경우에는 데이터베이스를 트랜잭션 로그 백업의 끝으로 복구해야 합니다.
섹션 내용
- 데이터베이스를 지정한 복구 지점에 복구하는 최적의 방법
데이터베이스를 특정 복구 지점으로 복원하기 위한 몇 가지 최상의 방법을 제공합니다.
- 특정 시간으로 복구
전체 백업이 아닌 트랜잭션 로그 백업 내에서 특정 지정 시간 전에 발생한 트랜잭션만을 복구함으로써 지정 시간으로 복구하는 방법을 설명합니다.
- 표시된 트랜잭션으로 복구
이전에 트랜잭션 로그에 삽입된 표시까지 또는 그 직전까지 복구하는 방법을 설명합니다.
- LSN(로그 시퀀스 번호)로 복구
LSN(로그 시퀀스 번호)을 사용하여 복원 작업을 위한 복구 지점을 정의하는 방법을 설명합니다.
참고 항목
개념
트랜잭션 로그 백업 적용
표시된 트랜잭션 사용(전체 복구 모델)
SQL Server에서의 백업 복원 및 복구 작동 방법 이해
관련 자료
backupset(Transact-SQL)
RESTORE(Transact-SQL)
RESTORE HEADERONLY(Transact-SQL)
SQL Server 데이터베이스에 대한 복원 시나리오 구현
SQL Server 데이터베이스에 대한 복원 시퀀스 작업