SQL Server의 다른 빌드 시스템 데이터베이스 백업을 복원할 수 없습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 264474 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

현상

빌드에서 다른 서버 빌드에 대한 시스템 데이터베이스 (마스터, 모델 또는 msdb) 백업을 복원할 수 있는 백업 원래 수행된 따라. 이러한 복원을 수행해야 하면 다음과 같은 오류 메시지가 발생할 발생합니다.
서버: 메시지 3168, 수준 16, 상태 1, 줄 1
(134217920)이 이 서버가 아닌 서버 (134217904) 의 다른 버전이 만들어졌기 때문에 장치 d:\temp\master.bak 있는 시스템 데이터베이스 백업을 복원할 수 없습니다.
서버: 메시지 3013, 수준 16, 상태 1, 줄 1
RESTORE DATABASE 비정상적으로 종료되고 있습니다.

원인

시스템 데이터베이스에 대한 데이터베이스 스키마를 서버 빌드를 통해 변경할 수 있습니다. 스키마 이 변경이 일관성 오류를 모두 발생하지 않도록 하기 위해 RESTORE 명령을 수행하는 첫 번째 검사 중 하나는 백업 파일에 대한 서버 빌드 번호 및 빌드 번호가 있는 사용자가 복원을 수행하려는 서버의 비교 것입니다. 두 개의 빌드를 다른 경우 오류 메시지가 발생하고 복원 작업이 비정상적으로 종료됩니다.

참고 서비스 팩이나 핫픽스를 설치한 변경 빌드 서버 빌드 번호 및 서버 빌드를 항상 증분 있습니다.

이 문제가 발생할 수 있는 몇 가지 시나리오를 다음과 같습니다.
  • 사용자가 서버 A의 시스템 데이터베이스를 다른 서버로 빌드를 B. 서버 B가 있는 서버에서 수행한 백업 파일에서 복원할 시도합니다. 예를 들어, RTM 빌드를 서버 수 및 서버 B에서 서비스 팩 1 (SP1) 빌드 수 있습니다.
  • 사용자가 동일한 서버에서 수행한 백업에서 시스템 데이터베이스를 복원할 시도합니다. 그러나 백업 발생했을 때 서버가 다른 빌드를 실행 않았습니다. 즉, 백업이 수행된 이후 서버가 업그레이드되었습니다.

해결 과정

이러한 상황 복원 프로세스가 상당히 관련된 및 마지막 수단으로만 사용한 것입니다.

이 문제를 해결하려면 시도하는 첫 번째 단계는 현재 빌드 서버와 SQL Server의 결정해야 합니다. 백업 어떤 수행된 빌드.

Microsoft SQL Server 2000 및 Microsoft SQL Server 2005 현재 SQL Server 빌드를 확인하기 위해 다음 두 가지 방법을 제공합니다.
  • 방법 1
    SELECT @@version
    이 코드를 텍스트 비슷한 반환합니다:
    Microsoft SQL Server  2000 - 8.00.192 (Intel X86)
    Jul 31 2000 15:47:46
    Copyright (c) 1988-2000 Microsoft Corporation 
    Enterprise Edition on Windows NT 5.0 (Build 2195: )
    (1 row(s) affected)
  • 방법 2
    SELECT SERVERPROPERTY('ProductVersion')
    이 코드를 텍스트 비슷한 반환합니다:
    8.00.192
    (1 row(s) affected)
이 문서의 목적을 위해 이 빌드 번호는 있는 "SQL Server 빌드" 에 이 기사의 나머지 부분에서는 참조됩니다.

빌드를 확인할 수 있습니다 백업에 대한 백업 파일을 다음 명령을 사용하여 발생한 따라:
RESTORE HEADERONLY
FROM DISK = 'd:\temp\master176.bak'
생성되는 출력 위치 다음과 같은 세 가지 (3) 열이 서버 빌드 정보를 제공하는:
SoftwareVersionMajor SoftwareVersionMinor SoftwareVersionBuild
-------------------- -------------------- --------------------
8                    0                    176

The actual output has several other columns; however, only the columns that are of interest are included in this article for clarity.
이 문서의 목적을 위해 이 빌드 번호를 있는 "백업 작성"이 이 문서의 나머지 로 참조됩니다.

이 예제에서는 있는 "SQL Server 빌드" 8.00.176 있는 "백업 빌드" 동안 8.00.192, 것입니다. 두 개의 빌드를 다르기 때문에 복원 작업이 허용되지 않는 및 오류 메시지 3168 발생합니다.

이 문제를 해결하려면 복원 프로세스를 따라 사용자가 시스템 데이터베이스 복원 시도하는 다릅니다. 이러한 단계 중 하나를 진행할 백업을 모든 기존 데이터베이스에 시스템 및 사용자 데이터베이스 전에 만들어 예비 조치로 좋습니다.

복원 시도가 마스터 데이터베이스가 있는 경우 다음 단계를 성공적으로 복원을 시도할 수 있습니다.
  1. sp_detach_db 저장 프로시저를 사용하여 시스템에 존재하는 모든 사용자 데이터베이스를 분리하십시오. 사용자 데이터베이스를 분리하는 방법에 대한 자세한 내용은 SQL Server 2000 온라인 설명서의 "데이터베이스 연결 및 분리" 항목을 참조하십시오. SQL Server 2005를 사용하는 경우, Detaching 및 데이터베이스 연결"SQL Server 2005 온라인 설명서의 항목에서. 교차 확인란 같이 시스템에 대한 모든 사용자 데이터베이스 목록을 다음 쿼리를 반환합니다:
    SELECT name FROM SYSDATABASES
    WHERE dbid > 4
  2. 다음 명령을 사용하여 시스템 msdb모델 데이터베이스는 백업:
    BACKUP DATABASE MSDB TO DISK = '<backup device>' WITH NOINIT, NOSKIP
    BACKUP DATABASE MODEL TO DISK = '<backup device>' WITH NOINIT, NOSKIP
  3. 모든 필요한 서비스 팩을 설치하거나 핫픽스 빌드 서버 소프트웨어 앞으로 있는 "백업 빌드 위해" 롤 있는 "백업 빌드", "SQL Server 빌드 것보다" 큰 경우, 이전에 확인되었습니다. 그런 다음 6단계로 이동하십시오.
  4. SQL Server 2000 또는 SQL Server 2005 제거하십시오. SQL Server 2000 제거하는 방법에 대한 자세한 내용은 SQL Server 2000 온라인 설명서의 "SQL Server 2000 제거하는 방법" 항목을 참조하십시오.
  5. SQL Server 2000 다시 설치 또는 SQL Server 2005 및 모든 필요한 서비스 팩 또는 핫픽스 빌드 서버 소프트웨어 앞으로 있는 "백업 빌드 위해" 롤 이전에 확인되었습니다.
  6. 서버가 단일 사용자 모드에서 시작하고 이 빌드 백업 파일을 사용하여 마스터 데이터베이스를 복원하십시오. 마스터 데이터베이스를 복원하는 방법에 대한 자세한 내용은 SQL Server 2000 온라인 설명서의 현재 백업에서 데이터베이스 복원 마스터 항목을 참조하십시오. SQL Server 2005를 사용하는 경우, SQL Server 2005 온라인 설명서의 "마스터 데이터베이스 복원" 항목을 참조하십시오.
  7. 마스터 데이터베이스를 성공적으로 복원한 후 종료한 후 SQL Server 서비스를 다시 시작해야 합니다.
  8. 있는 "백업 빌드", "SQL Server 빌드 것보다" 큰 경우 10단계로 이동하십시오.
  9. 서비스 팩이나 핫픽스 빌드를 앞으로 서버 소프트웨어 "SQL Server 빌드를 위해" 롤 포워드하는 데 필요한 다시 적용하십시오.
  10. msdb모델 데이터베이스는 2단계에서 만든 백업을 복원하십시오. SQL Server 2005를 사용하는 경우, SQL Server 2005 온라인 설명서의 "모델 및 msdb 데이터베이스 복원" 항목을 참조하십시오.
  11. 모든 사용자 데이터베이스를 sp_attach_db 저장 프로시저를 사용하여 다시 연결하십시오. 데이터베이스를 다시 부착합니다 방법에 대한 자세한 내용은 SQL Server 2000 온라인 설명서의 "데이터베이스 연결 및 분리" 항목을 참조하십시오.
이제 마스터 백업이 수행된 후 마스터 데이터베이스에 모든 변경 내용이 있는 손실된 및 수동으로 적용해야 합니다.
모델 또는 msdb 데이터베이스 복원 작업을 시도할 경우 이 문제를 해결하려면 다음 단계를 사용할 수 있습니다. 예를 들어가, 이 절차를 설명하기 위해 이 문서에서는 원래 서버에 있는 이러한 데이터베이스 중 하나를 msdb 말할 참조하는, 서버 A의 복원할 수 있습니다. 이 절차를 사용하여 다른 서버 3168 오류 메시지를 방지하려면 B에 SQL Server를 설치하는 작업이 포함됩니다. 서버 A의 이전 빌드에 msdb에 대해 올바른 백업에서 경우에만 권한이 가정 물론.
  1. SQL Server 2000 서비스 팩이나 핫픽스 빌드를 있는 "백업 만들" 서버 소프트웨어 가져오는 데 필요한 및 서버 B는 서버 A가 동일한 데이터 정렬 설정으로 함께 설치하십시오.
  2. SQL Server 2000을 설치한 후에 SQL Server 서비스를 시작하고 msdb 데이터베이스 백업 파일에서 복원하십시오. 해당 서버를 구축하는 경우 복원 작동 및 빌드 백업이 있는 수행된 동일합니다.
  3. 있는 "백업 빌드", "현재 빌드 것보다" 큰 경우 5단계로 이동하십시오.
  4. 성공적인 복원 후에 서비스 팩이나 핫픽스를 적용하면 업그레이드가 SQL Server 2000 서버 B에 있는 "현재 빌드 수" 서버 소프트웨어 앞으로 롤 포워드하는 데 필요한 빌드합니다.
  5. 업그레이드를 완료한 후 msdb 데이터베이스 백업을 수행하십시오. 이제, 서버에서 이 백업에서 복원할 수 있는 것을 고려할 빌드 서버의 있는 백업 수행 및 다음 "현재 빌드" 동일합니다.
동일한 절차를 모델 데이터베이스용 작동합니다. 다시 백업이 수행된 이후 이러한 데이터베이스를 변경한 내용이 손실되고 수동으로 적용해야 합니다.

추가 정보

항상 현재 효과적인 백업 전략을 것이 좋습니다. 좋은 백업 전략을 중요하기 이 제한을 아직 다른 예입니다. 이 제한은 감안하여 의 서비스 팩이나 핫픽스 빌드를 설치하면 서버 업그레이드 즉시 시스템 데이터베이스의 백업을 수행해야 합니다.

속성

기술 자료: 264474 - 마지막 검토: 2007년 2월 22일 목요일 - 수정: 6.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
키워드:?
kbmt kbbackup kbprb KB264474 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com