728x90
[master 데이터베이스 복구]
master 데이터베이스가 손상되면 SQL Server는 서비스 시작이 실패하며 따라서 복구 작업을
포함한 어떤 작업도 할 수 없습니다. 이렇게 master 데이터베이스가 손상되었다면 일단 SQL Server
서비스가 시작할수 있도록 Rebuildm.exe유틸리티를 사용해서 모든 시스템 데이터베이스를 초기화하거나
특정 시점의 master.mdf파일과 mastlog.ldf파일의 본사본을 사용하여 서비스를 시작할 수 있습니다.
master데이터베이스를 복구하고자 하는 경우에는 SQL server서비스를 반드시 단일 사용자 모드로 시작하여야 하며
현재 설치되어 있는 SQL Server의 빌드번호와 백업된 master데이터베이스의 빌드번호가 일치해야 한다.
빌드번호는 서비스팩업데이트나 보안패치 적용시 변경됩니다.
--------------------------------------------------------------
|손상된db | 손상시 문제점 | 복구를 위한 작업 |
--------------------------------------------------------------
|master | sql server 서비스 시작 실패 | rebuildm.exe수행 후 |
| | | 백업을 사용한 복구 |
---------------------------------------------------------------
<보안패치의 빌드번호 구성>
빌드넘버 : ProductName-KBArticleNumber-X.YY.ZZZZ-LangName.exe
1) ProductName은 제품 이름과 버전 정보입니다.
2) KBArticleNumber는 관련된 Microsoft기술 자료 문서의 ID입니다.
3) X는 주 버전 번호를 나타냅니다.
4) YY는 두 자리 수의 부 버전 번호를 나타냅니다.
5) ZZZZ는 보안 패치 등 핫픽스 번호를 나타냅니다.(빌드번호)
6) LangName은 보안패치가 현지화된 언어의 세 자리 약어입니다.
예를 들어, KOR(한국어), ENU(영어), JPN(일본)등이 있습니다.
* 현재 master DB 빌드번호 체크
select @@version
* backup된 master.bak 빌드번호 체크
restore headeronly
from disk='c:\bak\master.bak'
위 두개의 dB의 빌드번호가 일치되어야 restore가 가능하다.
=========================================================================================
case1. 현재 설치되어 있는 SQL Server빌드 번호보다 master 데이터베이스 백업의 빌드 번호가 낮은경우
- 이와 같은 경우는 먼저 SQL Server를 재설치하고 master데이터베이스를 복구합니다.
1) 백업된 시스템 데이터베이스 빌드 번호와 동일한 서비스 팩과 보안패치를 준비합니다.
2) 복구하고자 하는 인스턴스를 프로그램 추가/삭제 를 통해 삭제합니다.
3) sql2000 및 서비스팩, 보안패치를 순서에 따라 설치합니다.
4) sql server서비스를 단일 사용자 모드에서 시작하고 master데이터베이스를 복구합니다.
# 삭제가 안될경우에는 http://support.microsfot.com/dedault.aspx?scid=kb;ko;290991의 문서를 참고하여
수동으로 제거하기 바랍니다.
=========================================================================================
case2. 현재 설치되어 있는 SQL Server 빌드번호와 시스템 데이터베이스 백업의 빌드번호가 일치하는 경우
1) Rebuildm.exe유틸리티를 실행합니다.
ㄱ) 방법1 : 실행창에서 rebuildm.exe를 입력한 뒤 엔터키를 누릅니다.
ㄴ) 방법2 : c:\program files\microsoft sqlserver\80\tools\binn" 폴더로 이동하여 rebuildm.exe
를 더블클릭 합니다.
2) 버튼을 눌러서 초기 시스템 데이터베이스 파일(mssqlCD가 필요)이 들어 있는 폴더의 경로를 지정합니다.
3) 데이터 정렬은 sql server설치시의 정렬과 동일한지 확인합니다. 기본적으로 운영체제의 언어에 따라
설정됩니다. 다시 작성 버튼을 눌러 재구성을 진행합니다.
4) 시스템 데이터베이스의 재구성이 완료되면 sql server 서비스를 종료합니다. 명령프롬프트를 사용해서
sql server서비스를 단일 사용자 모드로 시작합니다.
net start mssqlserver /m
5) 쿼리분석기로 연결한 뒤 master 데이터베이스의 백업을 사용하여 복구를 진행합니다.
복구예) restore database master
from disk='c:\backup\masterFULL.bak'
# sqlCD에 있는 Rebuildm.exe파일을 사용할때는 x86\DATA폴더를 하드디스크로 복사한 뒤 읽기 전용 속성을
해제하고 사용해야 합니다.
[참조문서]
http://support.microsoft.com/default.aspx?scid=kb;en-us;273572
=========================================================================================
master 데이터베이스가 손상되면 SQL Server는 서비스 시작이 실패하며 따라서 복구 작업을
포함한 어떤 작업도 할 수 없습니다. 이렇게 master 데이터베이스가 손상되었다면 일단 SQL Server
서비스가 시작할수 있도록 Rebuildm.exe유틸리티를 사용해서 모든 시스템 데이터베이스를 초기화하거나
특정 시점의 master.mdf파일과 mastlog.ldf파일의 본사본을 사용하여 서비스를 시작할 수 있습니다.
master데이터베이스를 복구하고자 하는 경우에는 SQL server서비스를 반드시 단일 사용자 모드로 시작하여야 하며
현재 설치되어 있는 SQL Server의 빌드번호와 백업된 master데이터베이스의 빌드번호가 일치해야 한다.
빌드번호는 서비스팩업데이트나 보안패치 적용시 변경됩니다.
--------------------------------------------------------------
|손상된db | 손상시 문제점 | 복구를 위한 작업 |
--------------------------------------------------------------
|master | sql server 서비스 시작 실패 | rebuildm.exe수행 후 |
| | | 백업을 사용한 복구 |
---------------------------------------------------------------
<보안패치의 빌드번호 구성>
빌드넘버 : ProductName-KBArticleNumber-X.YY.ZZZZ-LangName.exe
1) ProductName은 제품 이름과 버전 정보입니다.
2) KBArticleNumber는 관련된 Microsoft기술 자료 문서의 ID입니다.
3) X는 주 버전 번호를 나타냅니다.
4) YY는 두 자리 수의 부 버전 번호를 나타냅니다.
5) ZZZZ는 보안 패치 등 핫픽스 번호를 나타냅니다.(빌드번호)
6) LangName은 보안패치가 현지화된 언어의 세 자리 약어입니다.
예를 들어, KOR(한국어), ENU(영어), JPN(일본)등이 있습니다.
* 현재 master DB 빌드번호 체크
select @@version
* backup된 master.bak 빌드번호 체크
restore headeronly
from disk='c:\bak\master.bak'
위 두개의 dB의 빌드번호가 일치되어야 restore가 가능하다.
=========================================================================================
case1. 현재 설치되어 있는 SQL Server빌드 번호보다 master 데이터베이스 백업의 빌드 번호가 낮은경우
- 이와 같은 경우는 먼저 SQL Server를 재설치하고 master데이터베이스를 복구합니다.
1) 백업된 시스템 데이터베이스 빌드 번호와 동일한 서비스 팩과 보안패치를 준비합니다.
2) 복구하고자 하는 인스턴스를 프로그램 추가/삭제 를 통해 삭제합니다.
3) sql2000 및 서비스팩, 보안패치를 순서에 따라 설치합니다.
4) sql server서비스를 단일 사용자 모드에서 시작하고 master데이터베이스를 복구합니다.
# 삭제가 안될경우에는 http://support.microsfot.com/dedault.aspx?scid=kb;ko;290991의 문서를 참고하여
수동으로 제거하기 바랍니다.
=========================================================================================
case2. 현재 설치되어 있는 SQL Server 빌드번호와 시스템 데이터베이스 백업의 빌드번호가 일치하는 경우
1) Rebuildm.exe유틸리티를 실행합니다.
ㄱ) 방법1 : 실행창에서 rebuildm.exe를 입력한 뒤 엔터키를 누릅니다.
ㄴ) 방법2 : c:\program files\microsoft sqlserver\80\tools\binn" 폴더로 이동하여 rebuildm.exe
를 더블클릭 합니다.
2) 버튼을 눌러서 초기 시스템 데이터베이스 파일(mssqlCD가 필요)이 들어 있는 폴더의 경로를 지정합니다.
3) 데이터 정렬은 sql server설치시의 정렬과 동일한지 확인합니다. 기본적으로 운영체제의 언어에 따라
설정됩니다. 다시 작성 버튼을 눌러 재구성을 진행합니다.
4) 시스템 데이터베이스의 재구성이 완료되면 sql server 서비스를 종료합니다. 명령프롬프트를 사용해서
sql server서비스를 단일 사용자 모드로 시작합니다.
net start mssqlserver /m
5) 쿼리분석기로 연결한 뒤 master 데이터베이스의 백업을 사용하여 복구를 진행합니다.
복구예) restore database master
from disk='c:\backup\masterFULL.bak'
# sqlCD에 있는 Rebuildm.exe파일을 사용할때는 x86\DATA폴더를 하드디스크로 복사한 뒤 읽기 전용 속성을
해제하고 사용해야 합니다.
[참조문서]
http://support.microsoft.com/default.aspx?scid=kb;en-us;273572
=========================================================================================
[출처] [본문스크랩] master db 복구|작성자 주디
'데이터베이스 > SQL Server' 카테고리의 다른 글
테크니컬 칼럼 - DB별 대용량 데이터의 파티셔닝과 병렬 처리 (0) | 2008.05.07 |
---|---|
송혁 : SQL Server 2005 Query optimizer의 변경된 내용(2) (0) | 2008.05.07 |
SQL Server의 기본 인스턴스를 단일 사용자 모드로 시작하는 방법 SQL 2005 (0) | 2008.05.07 |
MS SQL Server 성능 조정 및 최적화, 제 1부: 성능 문제 개요 (0) | 2008.05.06 |
MS SQL Server 성능 조정 및 최적화, 제 2부: 쿼리 최적화 프로그램 (0) | 2008.05.06 |