사용자 과실 또는 H/W 손상으로 시스템 데이터베이스 및 사용자 데이터베이스 몽땅 사라졌다면 어떻게 복원할 수 있을까요?
SQL Server 2000 에서 제공하는 rebuildm.exe 을 통해 시스템 데이터베이스를 리빌드 할 수 있습니다. 또한 백업 데이터가 있다면 master, msdb, 사용자 데이터베이스 모두 복원할 수 있습니다. 다음은 master 데이터베이스를 복구하는 절차입니다.
[환경]
SQL Server 2000 SP4
[현상]
C Drive에 저장된 master, msdb, model 시스템 데이터베이스와 D Drive에 저장된 laigo (사용자 데이터) 데이터베이스의 mdf, ldf 파일이 삭제 되었습니다. SQL Server Service 가 실행되지 않습니다.
[원인]
관리자 실수에 의해 데이터베이스 파일(mdf,ldf)이 삭제 되었습니다.
[조치방법]
시스템 데이터베이스가 설치되었던 경로를 찾아 동일한 경로에 시스템 데이터베이스를 리빌드하고 백업 데이터를 이용하여 시스템을 복원합니다.
1. Version 확인
가. C:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqlservr.exe
나. 2000.80.2187.0
2. Master.mdf 가 설치되었던 경로를 Registry 정보를 통해서 확인합니다.
가. HKLM\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Parameters\SQLArg0
나. -d 옵션 뒤에 설치된 경로를 확인할 수 있다.
다. C:\Program Files\Microsoft SQL Server\data\master.mdf (기본 설치 폴더 확인)
3. 삭제되었던 폴더를 만듭니다.
가. Data 폴더 생성
4. CD-ROM Drive 에 SQL Server 2000 설치 CD를 삽입합니다.
5. 시스템 데이터베이스 복구를 위해 리빌드
가. C:\Program Files\Microsoft SQL Server\80\Tools\Binn\Rebuildm.exe 실행
나. 서버 : VSQL2000 (자동으로 확인됩니다)
다. 데이터 파일이 들어 있는 원본 디렉터리 : E:\ENGLISH\SQL2000\ENT\x86\DATA (SQL 설치 CD)
라. 데이터 디렉터리 : C:\Program Files\Microsoft SQL Server\MSSQL (폴더가 맞는지 확인합니다)
6. Rebuild 시작
7. Prompt에서 sqlservr 단일 사용자 모드 실행
가. C:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqlservr -c -m
나. 시스템 데이터베이스가 시작되었음을 확인할 수 있습니다.
8. MASTER 백업 파일 확인 및 복원
가. RESTORE HEADERONLY FROM DISK = 'D:\Backup\Master.bak' 이상 유무 확인
나. RESTORE DATABASE MASTER FROM DISK = 'D:\Backup\Master.bak' WITH REPLACE
다. Master 데이터베이스가 복원되며 SQL Server Service 가 자동 종료된다. (Command Prompt 확인)
9. 서비스 관리자에서 MSSQLSERVER 서비스를 시작한 뒤 쿼리 분석기에서 MSDB, 사용자 데이터베이스
(LAIGO)를 복원합니다.
RESTORE DATABASE LAIGO FROM DISK = 'D:\Backup\LAIGO.bak'
10. 복구 완료
11. 리빌드 후에도 Version 정보는 동일합니다. (8.00.2187)
작성자 : Lai Go / 작성일자 : 2008.05.31