서버관리2014. 2. 13. 13:29
300x250

MSSQL 2005 에서 디비가 깨져서 장애가 발생했을 때 복구하는 방법이다. 



1. 싱글유저로 전환 

ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK AFTER 10 

or 

ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE 


  

2. 기본 복구 

dbcc checkdb('dbname', REPAIR_REBUILD)  -- 디비 전체 

dbcc checktable('tablename', REPAIR_ALLOW_DATA_LOSS)  -- 특정테이블만 


이 작업은 시간이 좀 많이 걸린다. 



3. 고급 복구 

/* REPAIR_REBUILD 수행 후 수정되지 않은 건이 발생되었을 때 결과를 확인하여 다음 수행 --> 이때 로그 확인할 것 */ 


dbcc checkdb('dbname', REPAIR_ALLOW_DATA_LOSS) 


  

4. 멀티유저로 전환 

ALTER DATABASE dbname SET MULTI_USER 



* 참고 

http://msdn.microsoft.com/ko-kr/library/ms188414%28v=sql.90%29.aspx


300x250
Posted by 마스타