업데이트를 적용할 때 업그레이드 스크립트 실패 문제 해결
데이터베이스 업그레이드 스크립트
T-SQL 업그레이드 스크립트는 모든 SQL Server 누적 업데이트와 함께 제공됩니다. SQL Server 이진 파일이 최신 버전으로 대체된 후에 실행됩니다. 기존 SQL Server 인스턴스에 CU(누적 업데이트)를 적용하거나 최신 버전으로 업데이트하는 경우 연결된 설치 프로세스는 다음 두 단계로 절차를 실행합니다.
초기 단계에서 설치 프로세스는 데이터베이스 및 해당 개체가 아닌 이진 파일(DLL, EXE)만 업데이트합니다.
업그레이드가 완료되고 서비스가 처음으로 다시 시작되면 업데이트 프로세스는 C:\Program Files\Microsoft SQL Server\MSSQLXX 폴더의 스크립트 msdb110_upgrade.sql 사용하여 데이터베이스 업그레이드를 시작합니다. YYYY\MSSQL\Install\.
이러한 T-SQL 스크립트는 시스템 데이터베이스가 해당 CPU 또는 SP(서비스 팩) 또는 새 버전의 일부로 제공되는 새로운 수정 또는 기능에 대해 준비되었는지 확인합니다. CU 및 SP를 완전히 설치하거나 새 버전으로 업그레이드하려면 데이터베이스 업그레이드 스크립트를 성공적으로 실행해야 합니다. 이렇게 하지 않으면 SQL Server 인스턴스에 예기치 않은 문제가 발생할 수 있습니다. 업그레이드 스크립트 실행 실패는 CU 및 SP 설치 실패의 일반적인 원인입니다. 이 문제 해결 시리즈에서는 이 범주의 일반적인 오류와 이를 해결하기 위해 수행할 수 있는 단계를 다룹니다.
일반적인 문제 해결 방법
- 오류에 대한 자세한 내용은 SQL Server 오류 로그(ERRORLOG)를 검토합니다.
- 업그레이드 스크립트 실행을 무시하려면 추적 플래그 902를 사용하여 SQL Server를 시작합니다.
- 다양한 시나리오에 따라 오류의 원인을 해결합니다.
MSSQLSERVER_912 설명한 대로 업그레이드 스크립트가 실패하면 설치 마법사에서 초기 "데이터베이스 엔진 복구 핸들이 실패했습니다. SQL Server 오류 로그에서 잠재적인 원인을 확인합니다." SQL Server 오류 로그에는 912 및 3417 오류 메시지에 대한 항목이 있습니다. 오류 912 및 3417은 데이터베이스 업그레이드 스크립트 오류와 관련된 일반적인 오류입니다. 그리고 오류 912 이전의 메시지는 일반적으로 이러한 스크립트를 실행하는 동안 정확히 실패한 항목에 대한 정보를 제공합니다. 이러한 오류를 해결하고 해결하려면 추적 플래그 902를 사용하여 SQL Server를 시작해야 합니다.
참고 항목
추적 플래그 902로 SQL Server를 시작하는 것은 업그레이드 스크립트 오류 문제 해결 및 수정의 일부입니다. 데이터베이스 업그레이드 스크립트를 실행하는 동안 CU, SP 또는 새 버전으로 업그레이드하지 못하는 모든 시나리오에 적용할 수 있습니다. 추적 플래그 902를 사용하여 SQL Server 인스턴스를 시작하려면 추적 플래그 902를 사용하여 SQL Server를 시작하는 단계를 참조하세요.
추적 플래그 902로 SQL Server를 시작한 후 다음 섹션의 문서 중 하나를 선택하여 문제를 해결하고 해결할 수 있습니다.
데이터베이스 업그레이드 스크립트 오류 메시지
"데이터베이스 엔진 복구 핸들 대기 실패"는 다음과 같은 오류에 대한 일반적인 오류 메시지입니다.
- 오류 574: 트랜잭션 내에서 구성 문을 사용할 수 없습니다.
- 오류 945: 가용성 그룹의 일부인 SSISDB 업그레이드
- 오류 1712: Enterprise Edition에서만 온라인 인덱스 작업을 수행할 수 있습니다.
- 오류 2714: 개체가 이미 있음 오류
- 오류 4860: 파일 이름이 없습니다.
- 오류 5133: 임시 데이터베이스 만들기 실패
- 오류 6528: 오류 6528로 SQL Server 업그레이드 실패
- 오류 15151: SSISDB 보안 주체 문제
- 오류 15173: 서버 보안 주체 삭제 문제
- 오류 17182: TLS 1.0 사용 안 함
- 인증서 기반 보안 주체가 사용자 개체를 소유하는 경우 SQL Server 업그레이드 중 오류