다음을 통해 공유


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

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

  • 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(장애 조치(failover) 클러스터 인스턴스) 또는 Always On 가용성 그룹에서 사용하지 않도록 설정된 경우 수신하는 기타 오류 메시지

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

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

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

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

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

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

일반적인 문제 해결 방법

다음 단계를 수행하여 오류를 격리합니다.

  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 로그 파일을 열고 "Failed" 키워드를 검색합니다. 모든 실패가 중요한 것으로 간주되는 것은 아닙니다.

자세한 내용은 View and Read SQL Server Setup Log Files을 참조하세요.

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

오류 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입니다. 이러한 파일은 애플리케이션을 제거하고 업데이트하는 데 필요합니다. 해당 컴퓨터에서 고유합니다. 이러한 파일에 의존하는 애플리케이션에 대한 업데이트는 실수로 삭제되거나 손상된 경우 작동하지 않습니다. 이 조건을 해결하려면 누락된 Windows Installer 캐시 파일 복원에 설명된 다음 방법 중 하나를 사용합니다.

  • SQL Server 설치를 복구합니다.
  • FixMissingMSI 도구를 사용합니다.
  • FindSQLInstalls.vbs 스크립트를 사용합니다.
  • 파일을 수동으로 복원합니다.
  • 시스템 상태 백업에서 파일을 복원합니다.
  • 누락된 Windows Installer 캐시 파일 복원에 설명된 절차를 검토하고 구현합니다.

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

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

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

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

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

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

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

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

FCI(SQL Server 장애 조치(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.

추가 정보

  • SQL Server 버전 및 다운로드 위치에 대해 현재 사용 가능한 업데이트의 전체 목록은 버전, 버전 및 업데이트 수준 확인 - SQL Server를 참조하세요.
  • SQL Server 버전의 지원 가능성 및 서비스 타임라인에 대한 자세한 내용은 Microsoft 제품 수명 주기 페이지를 참조 하세요.
  • 다양한 버전의 SQL Server에 대한 서비스 모델에 대한 자세한 내용은 SQL Server 업데이트 용 증분 서비스 모델 및 SQL 2017 이상 버전의 최신 서비스 모델을 참조하세요.
  • SQL Server를 업데이트하는 방법에 대한 일반적인 내용은 SQL Server 서비스 업데이트 설치를 참조 하세요.
  • SQL Server 및 기타 제품의 보안 업데이트에 대한 자세한 내용은 보안 업데이트 가이드를 참조 하세요.
  • Microsoft 업데이트와 연결된 표준 용어에 대한 자세한 내용은 Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명을 참조 하세요.
  • 매우 안전한 환경에서 발생할 수 있는 설치 문제를 해결하려면 설치 계정에 특정 사용자 권한이 없는 경우 SQL Server 설치 실패를 참조하세요.