2020. 3. 16. 10:58

베드 블럭으로 MDF 파일 손상 작업.

1. [BADMDF] 데이터 베이스 인식불가.

-> DB 파일의 베드발생으로 SQL 에서 MDF 파일을 인식하지 못하는상태가 발생하였습니다. 

    베드 블럭에서 타 드라이브로 [BADMDF] 데이터 베이스 물리적 경로 변경후 DB Attach 시도 진행

    하였으나, MDF 파일 불량으로 인하여 Attach 진행되지 않았습니다. 

 

2. Test 데이터 베이스 생성후 [BADMDF] 데이터 베이스 MDF 파일을 장제 Modify 작업진행.

  (LDF 도 문제가 발생했다는 전제하여 MDF 파일만 진행)

 

USE master
GO
ALTER DATABASE test MODIFY FILE(NAME=TEST, FILENAME= 'C:\database\[BADMDF].mdf')
ALTER DATABASE test MODIFY FILE(NAME=TEST_log, FILENAME= 'C:\database\test_log.ldf')
GO

 

3. 응급모드 변경, 싱글모드 변경 작업 진행.

ALTER DATABASE test SET EMERGENCY
GO
ALTER DATABASE Test SET SINGLE_USER
GO

 

4.checkDB 작업 진행.

DBCC CHECKDB('Test', REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS
GO

 

5. 멀티모드 복구 진행.

ALTER DATABASE Test SET MULTI_USER
GO

 

6. 멀티모드 복구 진행후 데이터 베이스명 변경.

 

7. check DB 작업시 기존의 폴더에 LDF 강제 생성됨.

C:\database\[BADMDF].mdf

 

(베드난 디스크에 생성됨)

E:\DataBase\[BADMDF].mdf

 

8. DB 명 변경으로 작업 완료.