LDF 파일을 읽을 수 없어서 MS-SQL Server에서 데이터베이스 상태가 '주의대상'으로 표시되는 경우, 다음과 같은 작업으로 데이터베이스 복구 작업을 수행할 수 있다.
use master
go

sp_configure 'allow update', 1
reconfigure with override
go

update sysdatabases set status=32768 where name='db name'


MS-SQL Server를 중지시키고, 문제가 되는 LDF 파일의 이름을 다른 이름으로 변경한다.

DBCC REBUILD_LOG('db name', 'LDF file path')

MS-SQL Server를 시작한다.

SELECT * FROM SYSDATABASES

sp_configure 'allow update', 0
reconfigure with override
go

DBCC CHECKDB('db name')

ALTER DATABASE {db name} SET MULTI_USER

만약, DBCC CHECKDB 명령으로 데이터베이스를 확인하여 데이터베이스에 오류가 발생한 경우는 다음의 명령으로 데이터베이스를 복구할 수 있다.

DBCC CHECKDB('db name', 옵션)
들어갈 수 있는 옵션은 다음과 같다.

(1)REPAIR_FAST : 데이타의 손실 위험 없이 빨리 복구 작업을 수행할 수 있다.(클러스터되지 않은 인덱스 복구 가능)

(2)REPAIR_REBUILD : REPAIR_FAST이 하는 모든 작업, 인덱스 재생성과 같이 시간이 소요되는 작업이 복구 과정에서 진행됨. 역시 데이터의 손실 위험은 없다.

(3)REPAIR_ALLOW_DATA_LOSS : REPAIR_REBUILD이 하는 모든 작업, 할당 오류, 구조적 행 오류나 페이지 오류, 손상된 텍스트 개체 삭제를 수정하기 위한 행과 페이징의 할당 및 할당 취소 등의 작업이 행해진다.


신고
Posted by 봉보리봉봉
이전버튼 1 2 3 4 5 6 7 이전버튼

블로그 이미지
봉보리봉봉

공지사항

Yesterday33
Today6
Total131,869

티스토리 툴바