2017년 2월 10일 금요일
[MSSQL] 응급 복구 모드로 DB복구 하기
자료출처: http://cafe.naver.com/iwillgosu/762
Step 1:
ALTER DATABASE DB명 SET EMERGENCY
GO
Step 2:
DBCC CHECKDB('DB명')
GO
- 위의 결과에서 어떤것들이 검색되었다고 나오면 복구 가능성이 높고
- 그렇지 않고 메모리 공간 부족등 이상한 오류가 나오면 힘들다.
검색 결과가 나오면
Step 3: 단일 사용자 모드로 변경
ALTER DATABASE DB명 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
- DBCC CHECKDB 옵선
- REPAIR_FAST : 시간이 많이 소요 되지 않고, 데이터의 손실이 없는 사소한 오류
- REPAIR_REBUILD : REPAIR_FAST가 하는 모든 작업, 인덱스 재생성과 같이 시간이 소요되는 작업이 복구 과정에서 진행됨,역시 데이터 손실 위험을 없다.
- REPAIR_ALLOW_DATA_LOSS : REPAIR_REBUILD가 하는 모든 작업, 할당 오류, 구조적 행 오류나 페이지 오류, 손상된 텍스트 개체 삭제를 수정하기 윈한 행과 페이지의 할당 및 할당 취소 등의 작업이 진행된다.
Step 3: DB복구
Step 4:
DBCC CHECKDB('DB명', REPAIR_ALLOW_DATA_LOSS)
- 복구 불가능한 데이터는 버리고 테이블 복구
Step 5: 다중 사용자 모드로 변경
ALTER DATABASE DB명 SET MULTI_USER
GO
- DB에 걸려 있던 응급 모드도 자동 해제됨.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기