SQL Server 2005 트랜잭션 로그 손상에 의한 SUSPECT (주의대상) 발생 시 로그를 리빌드하여 복구하는 절차에 대해서 아래와 같이 정리하였습니다. 일반적인 상황에 대한 예제이며 운영 머신이라면 정확한 전단 및 조치를 위해 기술지원을 받으시길 권장해 드립니다. 당신의 데이터는 소중하니깐요! :)
[시나리오]
LAIGO 데이터베이스 SUSPECT 발생 복구 절차
[복구절차]
1. 트랜잭션 로그 파일 이름 확인
GO
Exec sp_helpdb LAIGO
2. 데이터베이스 상태를 Single user 모드로 변경
3. SQL Server 서비스 중지 및 기존 LDF 로그 파일의 이름을 변경
4. SQL Server 서비스 시작
5. 새로운 로그 파일 지정하여 rebuild log 수행
(NAME=LAIGO_Log, FILENAME='D:\MSSQL\DATA\LAIGO_Log.ldf')
6. SQL Server 재시작 후 CheckDB 수행
6-1. 일관성 오류 발생 시 데이터 오류 복구 구문 수행(데이터 손실이 발생할 수 있음)
DBCC CHECKDB('LAIGO', REPAIR_ALLOW_DATA_LOSS)
※ 복구 모드에 대해서는 아래 참고자료 링크 또는 msdn 라이브러리를 참조하시기 바랍니다.
7. 트랜잭션 로그 파일 사이즈, 증가 옵션 변경
ALTER DATABASE LAIGO MODIFY FILE
( NAME = N'LAIGO_Log', SIZE = 10GB, FILEGROWTH = 100MB )
8. 데이터베이스 상태를 multi user로 변경
9. SUSPECT_PAGES 확인
[참고자료]
SQL Server 2000 Database suspect (주의대상) 복구
http://laigo.kr/27
suspect_pages 테이블 이해 및 관리 http://msdn.microsoft.com/ko-kr/library/ms191301(SQL.90).aspx
작성자 : Lai Go / 작성일자 : 2008.12.10