2013-10-23 6 views
0

나는 아래 운동을하고 있습니다. 그 대답은 "최신 전체 백업을 복원 한 다음 최신 차등 백업을 복원하는 것"이라고 생각했을 것입니다.데이터베이스 복원 - 단순 복구 모델

그러나 주어진 답은 "최신 전체 백업을 복원하고 최신 차등 백업을 복원 한 다음 가장 최근 차등 백업에서 장애가 발생하기 전에 취한 각 로그 백업을 복원하십시오"입니다.

트랜잭션 로그 백업이 단순 모드로 수행되지 않았으므로 이것이 적절하지 않다고 생각하십니까?

감사합니다.

시나리오 : 데이터베이스는 단순 복구 모델을 사용합니다. 매일 01:00 전체 데이터베이스 백업. 차등 백업은 매일 13:00입니다.

문제 : 차등 백업이 실패합니다. 그런 다음 데이터베이스가 14:00에 실패합니다. 어떻게 데이터베이스를 복원하고 최소한의 데이터 손실을 보장합니까?

+0

부분적으로 맞습니다. "단순한"복구 모델로 설정하면 SQL Server는 로그 백업을 만들지 않습니다. 나는 대답을 게시하고 더 말할거야. –

답변

1

귀하와 귀하의 답변이 모두 올바르지 않습니다.

"단순한"복구 모델로 설정된 데이터베이스에서 SQL Server는 로그 백업을 만들지 않습니다.

그래서 로그 백업이 존재하지 않을 때 "각 로그 백업 복원"이라고 대답하기 때문에 대답이 잘못되었습니다. 그러나 전체 백업 이후에만 하나의 차등 백업이 있었기 때문에 답이 잘못되었습니다. 그리고 차등 백업이 실패했습니다.

그래서 ... 실제 응답은
(1) 실패한 데이터베이스의 백업을 시도합니다.
이것은 상황을 악화시킬 수 없으며, 성공하면 나중에 매우 유용 할 수 있습니다. (매우 중요한 정보가있는 경우 나중에 다른 환경으로 복원 해보고 해당 정보가 복구 될 수 있는지 확인하십시오.)

(2) 최신 전체 백업에서 복원하십시오.

질문이 있으십니까?

0

시나리오 : 데이터베이스는 단순 복구 모델을 사용합니다. 매일 매일 01:00 전체 데이터베이스 백업. 매일 차등 백업.

문제 : 차등 백업이 실패합니다. 그런 다음 데이터베이스가 14:00에 실패합니다. 어떻게 데이터베이스를 복원하고 최소한의 데이터 손실을 보장합니까?

이 경우 가장 좋은 방법은 전체 데이터베이스 백업 01:00을 복원하는 것입니다.

RESTORE DATABASE database FROM DISK = 'D:/FULL' WITH NORECOVERY, REPLACE

그래서 차등 백업이 실패하고 복원 할 기회를, 그렇지 않으면 전체 백업 이후에 다음 단계가 될 것 없다 : 차등 백업 (13:00) 복원은. 귀하의 경우에는

RESTORE DATABASE database FROM DISK = 'D:/FULL' WITH RECOVERY

은 마지막 전체 백업 1시 이후의 모든 변경 사항이 손실됩니다.