2015/03/05

MS SQL DB 주의대상 표시

주로 예기치 않은 시스템 셧다운이 발생할때,  로그에 일관성 오류가 있으면 자동 롤포워드가 되지 않아서 DB 상태가 "주의 대상" 으로 표시되어 엑세스 불가 상태가 됨. msdb에 문제가 있는 경우에는 SQL Agent 서비스도 작동하지 않게 됨.

 

이벤트 형식: 오류
이벤트 원본: MSSQLSERVER
이벤트 ID: 9003
데이터베이스 'msdb'의 로그 검색으로 전달된 로그 검색 번호 (10793:16:225)이(가) 잘못되었습니다. 데이터가 손상되었거나 로그 파일(.ldf)과 데이터 파일(.mdf)이 일치하지 않음을 나타냅니다. 복제하는 동안 이 오류가 발생한 경우 게시를 다시 만드십시오. 그 외의 경우 이 문제로 인해 시작하는 동안 오류가 발생하면 백업을 사용하여 복원하십시오.

이벤트 ID: 3414
복구하는 동안 오류가 발생하여 데이터베이스 'msdb'(데이터베이스 ID 4)을(를) 다시 시작하지 못했습니다. 복구 오류를 진단하여 수정하거나 양호한 백업에서 복원하십시오. 오류를 수정할 수 없거나 예상할 수 없는 경우 기술 지원 서비스에 문의하십시오.

 

Management Studio 에서, msdb 에 접근이 불가하므로 use msdb; 쿼리를 사용하는 방식의 복구는 불가 할때, 로그파일을 재생성하는 방식 또는 백업본에서 복구, 또는 파일 백업본에서 복구등을 진행해 볼수 있음.

1.  SQL Service 서비스 중지
2. MSDBLog.ldf 이름 변경
3. SQL Service 실행 (ldf 가 없으므로 싱글 모드 표시 상태)
4. ldf 재생성
   ALTER DATABASE msdb REBUILD LOG ON  (NAME=MSDBLog, FILENAME='D:\SQL\MSDBLog.ldf')
5. ALTER DATABASE msdb SET MULTI_USER
6. EXEC sp_helpdb msdb 및 DBCC CHECKDB

 

DBCC CHECKDB  에서 해당 DB 개체의 오류가 확인되면,. 아래과 같이 fix 처리

ALTER DATABASE msdb SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CHECKDB('msdb', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE msdb SET MULTI_USER

 

 

 


댓글 없음:

댓글 쓰기

가장 많이 본 글