다음을 통해 공유


일반적인 SQL Server 누적 업데이트 설치 문제 해결

이 문서에서는 Microsoft SQL Server instance CU(누적 업데이트) 또는 SP(서비스 팩)를 적용할 때 발생할 수 있는 문제를 해결하는 일반적인 단계를 제공합니다. 또한 다음과 같은 오류 메시지 또는 조건을 resolve 방법에 대한 정보를 제공합니다.

  • Wait on Database Engine recovery handle failed업그레이드 스크립트를 실행할 때 메시지 및 오류 9123417
  • Windows Installer 캐시의 MSI 또는 MSP(업데이트) 파일이 누락되어 발생하는 설치 오류입니다.
  • The Database Engine system data directory in the registry is not valid 또는 the User Log directory in the registry is not valid 메시지
  • Network path was not found및 원격 레지스트리 서비스 또는 관리자 공유가 Always On FCI(장애 조치 클러스터 instance) 또는 Always On 가용성 그룹에서 사용하지 않도록 설정된 경우 수신하는 기타 오류 메시지입니다.

누적 업데이트 및 서비스 팩 설치 정보

이 섹션에서는 CU 및 SP 설치에 대한 정보를 제공합니다.

  • Microsoft SQL Server 2016 및 이전 버전의 경우:

    • CU를 설치하기 전에 SQL Server instance 해당 CU에 적합한 SP 수준에 있는지 확인합니다. 예를 들어 SQL SERVER 2016 instance SP2를 적용하기 전에 SQL 2016 SP2에 CU17을 적용할 수 없습니다.
    • 해당 서비스 팩에 대해 이전 CU를 적용하지 않고도 지정된 SP 기준에 대해 항상 최신 CU를 적용할 수 있습니다. 예를 들어 SQL Server 2016 SP2 instance CU17을 적용하려면 이전 업데이트를 CU14, CU15 및 CU16에 적용하는 것을 건너뛰고 설치되지 않은 경우 CU17을 직접 적용할 수 있습니다.
  • Microsoft SQL Server 2017 이상 버전의 경우 항상 사용 가능한 최신 CU를 적용할 수 있습니다. (SQL Server 2017 이상 버전에는 서비스 팩이 없습니다.)

  • CU 또는 SP를 적용하기 전에 업데이트하는 instance 올바르게 설치되어 있는지 확인합니다. SQL Server 프로그램 파일 및 데이터 파일은 다음 항목에 설치할 수 없습니다.

    • 이동식 디스크 드라이브입니다.
    • 압축을 사용하는 파일 시스템입니다.
    • 시스템 파일이 있는 디렉터리입니다.
    • 장애 조치(failover) 클러스터 instance 공유 드라이브.
  • INSTANCE CU 또는 SP를 적용한 후 데이터베이스 엔진 기능을 추가하는 경우 새 CU 또는 SP를 적용하기 전에 프로그램 instance 동일한 수준으로 새 기능을 업데이트해야 합니다.

일반적인 문제 해결 방법론

다음 단계에 따라 오류를 격리합니다.

  1. 설치 프로세스의 실패 화면에서 세부 정보를 선택합니다.
  2. %programfiles%\Microsoft SQL Server\nnn\Setup Bootstrap\Log 폴더에서 검색된 제품 기능 섹션에서 Summary.txt검사 나열된 기능 중 하나라도 오류를 보고하는지 확인합니다. 이렇게 하면 해당 기능에 영향을 주는 문제를 해결하는 데 집중할 수 있습니다.
  3. 포커스가 있는 보고된 실패 시간에 해당하는 yyyyMMdd_HHmmss (예: 20220618_174947)라는 하위 폴더로 이동합니다. 필요한 경우 기능별 파일, ERRORLOG 파일 및 Details.txt 파일을 검사하는 것이 목표입니다.
  4. \MSSQLSERVER 하위 폴더로 이동하여 실패한 기능과 관련된 로그 파일을 찾습니다. 예를 들어 sql_engine_core_inst_Cpu64_1.log. 업그레이드 스크립트 실패의 경우 업그레이드 실패 시간에 해당하는SQLServer_ERRORLOG_date_time.txt파일을 검사.
  5. Details.txt 로그 파일을 열고 키워드(keyword) "실패"를 검색합니다. 모든 실패가 중요한 것으로 간주되는 것은 아닙니다.

자세한 내용은 로그 파일 보기 및 읽기 SQL Server 참조하세요.

다음 몇 섹션에서는 상황에 해당하는 시나리오를 검사 관련 문제 해결 단계를 따릅니다. 일치하는 시나리오가 없는 경우 로그 파일에서 더 많은 포인터를 찾습니다.

오류 912 및 3417 및 "데이터베이스 엔진 복구 핸들 대기 실패"

T-SQL 업그레이드 스크립트는 모든 SQL Server 누적 업데이트와 함께 제공됩니다. SQL Server 이진 파일이 최신 버전으로 대체된 후 실행됩니다. 이러한 T-SQL 스크립트가 어떤 이유로 실행되지 않으면 설치 프로그램에서 "데이터베이스 엔진 복구 핸들 대기 실패" 오류를 보고합니다. 설치 프로그램은 최신 SQL Server 오류 로그에 오류 9123417을 기록합니다. 오류 912 및 3417은 각각 데이터베이스 스크립트 업그레이드 실패 및 데이터베이스 복구 master 실패와 관련이 있습니다. 오류 912 이전의 메시지는 일반적으로 업그레이드 스크립트를 실행할 때 발생한 실패의 근본 원인에 대한 정보를 제공합니다.

912 및 3417과 함께 발생하는 다양한 오류가 있을 수 있습니다. 일반적인 시나리오 및 관련 솔루션의 요약에 대한 자세한 내용은 업데이트를 적용할 때 업그레이드 스크립트 오류 문제 해결을 참조하세요.

Windows 캐시의 설치 관리자 파일 누락으로 인한 설치 오류

설치 프로세스에 Windows Installer 기술을 사용하는 SQL Server 같은 애플리케이션은 Windows Installer 캐시에 중요한 파일을 저장합니다. 기본 설치 관리자 캐시 위치는 C:\Windows\Installer입니다. 이러한 파일은 애플리케이션을 제거하고 업데이트하는 데 필요합니다. 해당 컴퓨터에서 고유합니다. 이러한 파일에 의존하는 애플리케이션에 대한 업데이트 실수로 삭제되거나 손상된 경우 작동하지 않습니다. 이 조건을 resolve 하려면 누락된 Windows Installer 캐시 파일 복원에 설명된 다음 방법 중 하나를 사용합니다.

레지스트리의 잘못된 데이터 또는 로그 위치로 인해 설정이 실패함

CU 또는 SP를 설치할 때 기본 데이터 및 로그 폴더가 잘못된 경우 다음 메시지와 유사한 오류가 발생할 수 있습니다.

"레지스트리의 사용자 데이터 디렉터리가 잘못되었습니다. instance 하이브 아래의 DefaultData 키가 유효한 디렉터리를 가리키는지 확인합니다."

"레지스트리의 사용자 로그 디렉터리가 잘못되었습니다. instance 하이브에서 DefaultLog 키가 유효한 디렉터리를 가리키는지 확인합니다.

"SQL Server 데이터베이스 엔진 서비스 인스턴스 기능을 설치하는 동안 오류가 발생했습니다. 레지스트리의 데이터베이스 엔진 시스템 데이터 디렉터리가 잘못되었습니다."

이 문제를 해결하려면 다음 단계를 따르세요.

  1. SSMS(SQL Server Management Studio)를 사용하여 SQL Server instance 연결합니다.
  2. 개체 탐색기 SQL Server instance 마우스 오른쪽 단추로 클릭하고 속성>데이터베이스 설정을 선택합니다.
  3. 데이터베이스 기본 위치 아래에서 데이터로그의 폴더가 올바른지 확인합니다.
  4. SQL Server 구성 관리자 SQL Server 서비스를 선택하고 영향을 받는 SQL Server 서비스를 두 번 클릭하고 고급 탭을 선택한 다음 데이터 경로 값이 올바른지 확인합니다. 값이 회색으로 표시되어 수정할 수 없습니다. 그러나 수정하려면 SQL Server 누적 업데이트 또는 서비스 팩을 설치하여 SQLDataRoot 레지스트리 항목을 수정할 때 레지스트리의 데이터 또는 로그 디렉터리가 유효하지 않다는 오류메서드 2를 따릅니다.
  5. CU 또는 SP 설치를 다시 시도합니다.

잘못 구성된 WSFC(Windows Server 장애 조치(failover) 클러스터링) 노드

SQL Server FCI(장애 조치(failover) 클러스터 인스턴스)의 원활한 작동 및 유지 관리를 위해 장애 조치(failover) 클러스터링 및 장애 조치(failover) 클러스터 인스턴스 관리 & 유지 관리를 설치하기 전에 설명한 모범 사례를 따릅니다. CU 또는 SP를 적용할 때 오류가 발생하는 경우 다음 조건을 검사.

  • 원격 레지스트리 서비스가 활성 상태이고 WSFC 클러스터의 모든 노드에서 실행되고 있는지 확인합니다.
  • SQL Server 대한 서비스 계정이 Windows 클러스터의 관리자가 아닌 경우 모든 노드에서 관리 공유(C$ 등)가 사용하도록 설정되어 있는지 확인합니다. 자세한 내용은 관리 공유가 누락되었을 때 발생할 수 있는 문제 개요를 참조하세요. 이러한 공유가 올바르게 구성되지 않은 경우 CU 또는 SP를 설치하려고 할 때 다음 증상 중 하나 이상이 나타날 수 있습니다.
    • 업데이트를 실행하는 데 시간이 오래 걸리거나 응답하지 않습니다. 설정 로그는 진행률을 표시하지 않습니다.
    • 설정 로그에는 다음과 같은 메시지가 포함됩니다.

      The network path was not found. System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.

추가 정보