MSSQLSERVER_3168

적용 대상:SQL Server

세부 사항

attribute
제품 이름 SQL Server
이벤트 ID 3168
이벤트 원본 MSSQLSERVER
구성 요소 SQLEngine
심볼 이름 LDDB_SYSTEMWRONGVER
메시지 텍스트 디바이스 %ls에 있는 시스템 데이터베이스의 백업은 이 서버(%ls)와 다른 버전의 서버(%ls)에서 생성되었으므로 복원할 수 없습니다.

설명

백업이 원래 만들어진 빌드와 다른 서버 빌드에서는 시스템 데이터베이스(마스터, 모델 또는 msdb)의 백업을 복원할 수 없습니다.

참고 항목

누적 업데이트 또는 서비스 팩 또는 GDR과 같은 서비스 업데이트를 설치하면 서버 빌드 번호가 변경됩니다. 서버 빌드는 항상 증분입니다.

가능한 원인

시스템 데이터베이스에 대한 데이터베이스 스키마는 서버 빌드에서 변경될 수 있습니다. 스키마 변경으로 인해 불일치가 발생하지 않도록 RESTORE 문은 백업 파일의 서버 빌드 번호를 백업을 복원하려는 서버의 빌드 번호와 비교합니다. 빌드가 다른 경우 문은 "3168" 오류 메시지를 발행하고 복원 작업이 비정상적으로 종료됩니다.

이 문제가 발생할 수 있는 몇 가지 시나리오는 다음과 같습니다.

  • 서버 B에서 수행된 백업에서 서버 A의 시스템 데이터베이스를 복원하려고 합니다. 서버 A와 B는 서로 다른 서버 빌드에 있습니다. 예를 들어 서버 A는 원래 릴리스 버전 빌드에 있을 수 있으며 서버 B는 SP1(서비스 팩 1) 빌드에 있을 수 있습니다.

  • 동일한 서버에서 수행된 백업에서 시스템 데이터베이스를 복원하려고 합니다. 그러나 백업 프로세스가 실행되었을 때 서버가 다른 빌드를 실행하고 있었습니다. 즉, 백업을 만든 이후 서버가 업그레이드되었습니다.

사용자 작업

문제를 해결하려면 다음 단계를 수행합니다.

참고 항목

다음 절차에서 서버 A는 백업이 수행되는 원본 SQL Server 기반 서버이며, 서버 B는 백업을 복원하려는 대상 SQL Server 기반 서버입니다.

  1. 다음 쿼리를 사용하여 서버 B(버전 B)의 버전을 확인합니다.

    SELECT @@VERSION

  2. 다음과 유사한 쿼리를 실행하여 원본 백업을 수행했을 때 실행 중이던 SQL Server 버전(버전 A)을 확인합니다.

    RESTORE headeronly FROM disk = 'c:\sqlbackups\masterdb.bak'

  3. 및 열의 SoftwareVersionMajorSoftwareVersionMinorSoftwareVersionBuild 값을 검토하여 백업을 수행했을 때 사용된 원본 서버의 빌드를 확인합니다. 예를 들어 값이 다음과 같다고 가정합니다.

    • SoftwareVersionMajor: 15
    • SoftwareVersionMinor: 0
    • SoftwareVersionBuild: 4236 이 경우 백업을 수행할 때 원본 SQL Server 버전은 15.0.4236입니다.
  4. SQL Server 전체 버전 목록 테이블 또는 Excel 빌드 스프레드시트를 사용하여 빌드가 해당하는 SQL Server 버전을 확인합니다. 예를 들어 15.0.4236은 SQL Server 2019 CU16+GDR(버전 A)에 매핑됩니다.

  5. 다음 옵션 중 하나를 사용합니다.

    • 버전 A가 버전 B보다 큰 경우 SQL Server최신 업데이트 및 버전 기록에 있는 정보를 사용하여 서버 B를 버전 A와 동일한 빌드로 업그레이드합니다.

    • 버전 A가 버전 B보다 작으면 다음 단계를 사용하여 이후 업데이트를 일시적으로 제거합니다.

      1. 제어판에서 프로그램 프로그램 및 기능을 선택한 다음 설치된 업데이트 보기를 선택합니다.>

      2. 버전 B에 해당하는 이후 업데이트 패키지 각각에 해당하는 항목을 찾습니다.

      3. 항목을 길게 누르거나 마우스 오른쪽 단추로 클릭한 다음 제거를 선택합니다.

    • 버전 B가 버전 A와 동일한지 확인한 후 서버 B에서 master 데이터베이스의 복원 작업을 다시 시도합니다.

  6. (권장) 서버 B를 사용 가능한 최신 버전으로 업데이트한 다음 시스템 데이터베이스의 새 백업을 수행합니다.

참고 항목

시스템 데이터베이스 복원에 대한 제한 사항(SQL Server)

master 데이터베이스 복원(Transact-SQL)

master 데이터베이스를 다시 빌드하는 가장 쉬운 방법