이해하기 쉽지 않은 상황이 있으며 다른 사람들이 제안을 할 수 있는지이 포럼에서 물어볼 것이라고 생각했습니다.
Windows Server 2008R2 Enterprise에서 SQL Server 2008 R2 Standard SP3을 실행하고 있습니다.
데이터베이스에는 약간의 유지 관리가 필요했으며 다른 서버에서 복원해야했습니다. COPY_ONLY와 4 개의 tlog 백업 세트로 완료된 전체 DB 백업이 있습니다.
- 시작하기 전에 tlogbackup1을 작성하십시오.
- 에서 변경
FULL
에BULK_LOGGED
복구 모델 - 새 파일 그룹 추가
- newfilegroup에 파일 추가
- newfilegroup을 기본값으로 설정
- 새 파일 그룹에서 테이블로 선택
- 원본 테이블 삭제
- 원본 파일 삭제
- 원본 파일 그룹 삭제
- 원래 테이블과 일치하도록 새 테이블의 이름을 변경하십시오.
- 원본 파일 그룹과 일치하도록 newfilegroup의 파일 이름 변경
- 원본 파일 이름과 일치하도록 카탈로그에서 파일 이름 변경
- 원본 파일 이름과 일치하도록 OS 수준에서 파일 이름 변경
- 기본 파일 그룹을 원본으로 설정
- DB를 온라인으로 가져 오기
- 에서 변경
BULK_LOGGED
에FULL
복구 모델 - 모든 단계가 완료되면 tlogbackup2를 작성하십시오.
복원 서버의 드라이브 문자 변경으로 인해 모든 백업의 복원에는 WITH MOVE를 사용해야합니다.
복구 단계 :
RESTORE database SomeDB FROM DISK = 'D:\REPRO\SomeDB.bak'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
RESTORE LOG SomeDB FROM DISK = 'D:\REPRO\tlogbackup1.trn'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
RESTORE LOG SomeDB FROM DISK = 'D:\REPRO\tlogbackup2.trn'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
최종 로그 복원이 100 %에 도달 한 후 오류 3456과 함께 실패합니다.
파일 1의 'SystemData'파일 'SomeDB'데이터베이스에 대해 368 페이지를 처리했습니다.
파일 1의 'SystemDataPDS'파일 'SomeDB'데이터베이스에 대한 7656520 페이지를 처리했습니다.
파일 1의 'SystemData_log'파일 'SomeDB'데이터베이스에 대한 172430 페이지를 처리했습니다.
메시지 3456, 수준 16, 상태 1, 줄 1
트랜잭션 ID (0 : 1016710921), 페이지 (4 : 8088), 데이터베이스 'SomeDB'(데이터베이스 ID 6)에 대한 로그 레코드 (210388 : 123648 : 232)를 다시 실행할 수 없습니다. . 페이지 : LSN = (0 : 0 : 1), 유형 = 11. 로그 : OpCode = 4, 컨텍스트 11, PrevPageLSN : (210388 : 122007 : 1). 데이터베이스 백업에서 복원하거나 데이터베이스를 복구하십시오. 메시지 3013, 수준 16, 상태 1, 줄 1 복원 로그가 비정상적으로 종료됩니다.
전체 DB 백업이 정상인지 확인하기 위해 run을 복원했으며 CHECKDB
오류가 없었습니다.
모든 의견을 환영합니다.
미리 감사드립니다.
네드 수달