문제

문제는 이것입니다.

t0: Insert is made into my database
t1: Delete is executed
t2: Full backup is made
t3: Transaction log backup is made

T3 이후 삭제 된 레코드를 어떻게 복구 할 수 있습니까? T0과 T1 사이의 상태에서 데이터베이스를 원합니다. 로그 레벨이 가득 찼습니다.

편집 : 이미 DBCC 로그 (DB-Name, 3)를 실행했지만 로그는 잘린 것 같습니다. 수천 개가 있어야하지만 10 개의 항목 만 있습니다.

도움이 되었습니까?

해결책

로그를 재생하려면 항상 전체 로그에서 시작하여 차동 장치와 로그 백업을 적용하십시오. 타임 라인은 항상 전체 백업에서 앞으로 나아가며 결코 뒤로 향합니다. 그래서 T0 (예 : 삭제 된 레코드 복구) 이후 상태에 도달하려면 찍은 전체 백업으로 시작합니다. ~ 전에 T0에서 로그 백업을 적용하여 T0에서 정지하십시오.

다른 팁

이상적인 솔루션은 아니지만 데이터베이스 백업을 별도의 데이터베이스로 복원하고 데이터베이스를 비교하고 수동으로 필요한 변경을 수행 할 수 있습니다.

또 다른 방법은 다음과 같은 타사 거래 로그 리더를 사용하는 것입니다. ApexSQL 로그.

창,

트랜잭션 로그는 트랜잭션을 보도록 설계되지 않았습니다. 실제로 그런 종류의 로그가 아닙니다. 또한 트랜잭션 로그 백업을했을 때 정보가 파일로 백업되면서 로그 파일을 잘라 냈을 것입니다.

또한 데이터베이스를 전체 복구 모델에 넣을 때 전체 데이터베이스 백업을 수행 할 때까지 실제로 간단한 모드로 남아 있습니다. 따라서 T0 이전에 백업이 없으면 해당 상태로 돌아갈 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top