여기 내가 조사 할 몇 가지 방법이 있습니다. 이러한 작업을 모두 수행하지는 마십시오 (일부는 동일한 목적을 달성하기위한 다른 기술 임).
1. SQL 오류 로그를 직접 검사하십시오.
SQL 오류 로그가 포함 된 폴더를 직접 찾아보고 최신 ERRORLOG
인스턴스를 메모장에 로드 하여 SQL 인스턴스가 시작되지 않는 이유에 대해 자세히 알아보십시오. 아마도 마스터 데이터베이스에 전혀 문제가 없다는 것을 알게 될 것입니다.
2. 단일 사용자 모드에서 인스턴스를 시작해보십시오
다음은 (단일 사용자 모드) 및 (최소 구성 모드)를 포함하여 SQL Server에 대한 전체 시작 옵션 목록입니다 . 문제가있는 경우 다른 옵션을 사용하여 마스터 데이터베이스의 경로를 지정할 수 있습니다.-m
-f
인스턴스를 시작할 수있는 경우 마스터 데이터베이스를 복원하기 위해 링크 한 MSDN 기사 의 단계 또는 Thomas LaRock의 자세한 설명을 따르십시오 .
다른 응용 프로그램이 항상 단일 사용자 연결을 확보 한 경우 먼저 SQL 에이전트를 비활성화하여 시작되지 않도록하십시오. 둘째, 매개 변수를 사용하여 응용 프로그램 이름을 지정하려면 이 질문에 대한 아이디어를 참조하십시오-m"Application Name"
.
3. master
다른 인스턴스로 복원 하고 파일 복사
나는 이 문서화되지 않은 기술에 대한 다른 언급 을 발견 했지만 지난 주말에 성공적으로 사용 했으므로 시도해 볼 가치가 있습니다.
단일 사용자 모드에서 인스턴스를 시작할 수 있다면 하지만 다른 SQL 인스턴스가 동일한 버전 및 빌드를 실행을 , 다른 인스턴스로 죽은 서버에서 마지막으로 성공한 마스터 데이터베이스 백업을 복원하려고 :
- 물론 다른 이름으로 복원 (
master_please_god_let_this_work
) WITH MOVE
하므로 master
양호한 서버에서 덮어 쓰지 않습니다.
- 복원
WITH NORECOVERY
. 이것이 필요하다는 것을 확신하지 못했지만 다른 서버가 복원 된 마스터에서 아무것도 변경하지 않을 것이라는 것을 알게되었습니다.
- 오프라인으로 설정하십시오.
ALTER DATABASE [master_please_god_let_this_work] SET OFFLINE
- 양호한 서버에서 죽은 서버로 복원 된 MDF 및 LDF 파일을 복사하십시오.
- 잘못된 마스터 파일을 복원 된 버전으로 바꾸려면 필요에 따라
master.mdf
및 mastlog.ldf
파일 이름 을 바꾸십시오.
- 손가락을 교차시키고 인스턴스를 시작하십시오
- 선택 사항 : 복구 된 서버에서 마스터를 새로 복원하십시오. 우리가 변경하지 않도록 매우 조심했기 때문에 이것이 필요한지 확실하지 않습니다
master
.
4. 시스템 데이터베이스를 재 구축
다른 인스턴스가 동일한 버전을 실행하거나이없는 경우는 # 3에 나와있는 문서화되지 않은 절차를 사용하여 편안하지 않은 경우, 또는 당신의 백업이없는 경우 master
( 왜? 백업이없는 ) 원래 설치 디스크에서 SQL 시스템 데이터베이스를 다시 빌드 할 수 있습니다 .
Setup.exe /ACTION=REBUILDDATABASE /...
이 작업이 완료되면 이전에 연결된 단계에 master
따라 마지막 백업에서 복원 할 수 있습니다 . 또한 msdb
모든 작업, 작업 일정 및 작업 기록을 유지하려면 최신 백업을 복원해야합니다 .
5. 모든 USER 데이터베이스를 새로운 (또는 기존) SQL 인스턴스로 복원
다른 기존 인스턴스 (적절한 SQL 버전, 충분한 디스크 공간)가 이미 실행중인 경우 필요할 경우를 대비하여 위의 다른 문제 해결 단계를 수행하는 동안 최신 백업에서 데이터베이스 복원을 시작합니다.
새 (또는 재설치 된) 인스턴스가 동일한 디스크에 액세스 할 수있는 경우 새 데이터베이스로 간단히 연결하는 것이 훨씬 빠릅니다.
CREATE DATABASE foo
ON (FILENAME = 'D:\data\foo.mdf'),
(FILENAME = 'D:\data\foo_log.ldf')
FOR ATTACH;
6. 변경 사항을 다시 실행하십시오. master
master
위의 기술 중 하나를 통해 성공적으로 복원 한 후에는 방금 복원 한 백업 후에 변경된 내용이 있으면 손실 된 내용을 조사해야합니다.
- 보안 변경
- 새로운 데이터베이스
- 서버 전체 설정
이를 찾는 마법의 방법은 없습니다. 이러한 변경 사항이있을 경우 회사의 문서 추적으로 돌아 가야합니다.