트랜잭션 로그 파일이 삭제 된 (최대 6TB) 매우 큰 데이터베이스가 있습니다 (SQL Server가 종료 된 동안).
- 데이터베이스 분리 및 다시 연결 과
- 트랜잭션 로그 파일 삭제
... 지금까지 아무것도 효과가 없었습니다.
현재 실행 중입니다 :
ALTER DATABASE <dbname> REBUILD
LOG ON (NAME=<dbname>,FILENAME='<logfilepath>')
...하지만 데이터베이스 크기가 주어지면 완료하는 데 며칠이 걸릴 수 있습니다.
질문
위의 명령과 다음 명령 사이에 차이점이 있습니까?
DBCC CHECKDB ('<dbname>', REPAIR_ALLOW_DATA_LOSS)
REPAIR_ALLOW_DATA_LOSS
대신 실행해야합니까 ?
데이터는 다른 소스에서 파생되므로 데이터베이스를 다시 작성할 수 있지만 모든 데이터를 다시 삽입하는 것보다 데이터베이스를 복구하는 것이 훨씬 빠를 것입니다.
최신 정보
점수를 유지하는 사람들의 경우 :이 ALTER DATABASE/REBUILD LOG
명령은 약 36 시간 후에 완료되어 다음과 같이보고되었습니다.
경고 : 데이터베이스 'dbname'에 대한 로그가 다시 작성되었습니다. 트랜잭션 일관성이 유실되었습니다. RESTORE 체인이 손상되어 서버에 더 이상 이전 로그 파일에 대한 컨텍스트가 없으므로 해당 파일이 무엇인지 알아야합니다.
물리적 일관성을 확인하려면 DBCC CHECKDB를 실행해야합니다. 데이터베이스가 dbo 전용 모드로 설정되었습니다. 데이터베이스를 사용할 수있게되면 데이터베이스 옵션을 재설정하고 추가 로그 파일을 삭제해야합니다.
우리는 DBCC CHECKDB
(약 13 시간 소요) 성공했습니다. 데이터베이스 백업의 중요성과 프로젝트 관리자에게 서버에 대한 액세스 권한 부여를 배웠다고 가정 해 봅시다.