다음의 조건이 만족되면 테이블 DROP 이전으로 복구가 가능합니다.
- 해당 DB의 복구모델이 '최대'('대량로그'모델도 가능하나 제한적임)이고 DROP전 전체백업본이 존재
- DROP이 수행된 이후 다음의 명령을 수행해 그때까지의 Transaction Log 백업을 받습니다.
BACKUP LOG <dbname> TO DISK = '...' WITH NO_TRUNCATE
위의 전체백업 및 마지막 트랜잭션 로그 백업본(전체백업과 마지막 트랜잭션로그 백업사이에 이미 받은 트랜잭션 로그 백업포함)을 이용하여 아래와 같이 데이터를 복원합니다. (우선 테스트서버에 복원시도하거나 다른 이름으로 복원시도하세요)
1. 전체백업본 RESTORE
RESTORE DATABASE <dbname> FROM '백업본 경로' WITH NORECOVERY
2. 위의 전체백업본 이후 마지막 트랜잭션 로그 백업전까지 받아둔 트랜잭션 로그 백업본이 있다면 순차적으로 RESTORE함
RESTORE LOG <dbname> FROM '백업본 경로' WITH NORECOVERY
3. 마지막 트랜잭션로그 백업본을 STOPAT 옵션을 이용하여 장애가 발생하기전까지 적용
RESTORE LOG pubs FROM disk = ‘마지막 트랜잭션 로그 백업본’
WITH STOPAT = ‘2006-09-22 09:53:07.310’
감사합니다
박 상 준