FIX: 포함된 가용성 그룹이 있는 SQL Server instance에 누적 업데이트를 적용한 후 오류가 발생함

증상

다음 시나리오를 고려하세요.

  • 포함된 가용성 그룹이 배포된 SQL Server 2022의 instance가 있습니다.
  • 포함된 가용성 그룹의 컨텍스트에서 서버 수준 개체(로그인 및 작업)를 만듭니다.

이 시나리오에서는 이 SQL Server instance에 누적 업데이트를 설치한 후 다음 오류 중 하나가 발생합니다.

오류 1

다음 오류 메시지와 함께 SQL Server 에이전트 작업이 실패합니다.

2단계 실행을 시작할 수 없습니다(이유: JobOwner <JobOwner> 에는 하위 시스템 SSIS에 프록시 <#> 를 사용할 수 있는 권한이 없습니다).  단계가 실패했습니다.

SQL Server 에이전트 오류 로그에 다음과 유사한 오류 메시지가 기록됩니다.

<타임스탬프> - ! [298] SQLServer 오류: 208, 잘못된 개체 이름 'syssubsystems'. [SQLSTATE 42S02]
<타임스탬프> - ! [517] SQL 오류 번호 208, 심각도 16

이 단계에서 테이블은 syssubsystems 포함된 가용성 그룹의 데이터베이스에서 msdb 누락되었으며 instance-level msdb 데이터베이스에 있습니다. 이러한 오류를 해결하고 작업이 성공적으로 실행되도록 하려면 수신기에 연결하고 테이블과 테이블의 행을 만들어 포함된 가용성 그룹의 데이터베이스에 msdb instance-level syssubsystems 테이블을 수동으로 복사할 수 있습니다.

오류 2

포함된 가용성 그룹을 만든 후 5초마다 다음 오류 메시지가 표시됩니다.

활성화된 프로시저 '[dbo]. 'AGName>_AG_SYNC_CONTAINED_msdb.dbo.syspolicy_event_queue' 큐<에서 실행 중인 [sp_syspolicy_events_reader]'은 다음을 출력합니다. '보안 주체 "##MS_PolicyEventProcessingLogin##"이 존재하지 않거나, 이러한 유형의 보안 주체를 가장할 수 없거나, 사용 권한이 없으므로 데이터베이스 보안 주체로 실행할 수 없습니다.'

오류 3

데이터베이스 메일의 작동이 중지된 후 저장 프로시저를 sysmail 실행하려고 하면 다음과 유사한 오류 메시지가 보고됩니다.

개체 '[dbo]. [sp_syspolicy_events_reader]'가 'master' 데이터베이스에 없거나 이 작업에 유효하지 않습니다.

오류 4

포함된 가용성 그룹을 만든 후 포함된 가용성 그룹 수신기에 연결하고 SQL Server 로그인 주체를 만드는 경우 로그인 주체를 사용하여 연결할 때 SSMS(SQL Server Management Studio)에서 다음 오류가 발생합니다.

수신기에> 연결하는< 중 오류
이 요청에 대한 데이터를 검색하지 못했습니다. (Microsoft.SqlServer.Management.Sdk.Sfc)
Transact-SQL 문 또는 일괄 처리를 실행하는 동안 예외가 발생했습니다. (Microsoft.SqlServer.ConnectionInfo)
개체 'xp_msver', 데이터베이스 'mssqlsystemresource', 스키마 'sys'에 대한 EXECUTE 권한이 거부되었습니다. (Microsoft SQL Server, 오류: 229)

이 오류는 포함된 AG(가용성 그룹) master에 대한 확장 저장 프로시저에 대한 xp_msver 권한이 역할에 부여되지 않았 EXECUTE 기 때문에 public 발생합니다.

해결 방법

이 문제는 SQL Server에 대한 다음 누적 업데이트에서 해결되었습니다.

SQL Server 2022용 누적 업데이트 4

SQL Server의 누적 업데이트 정보

SQL Server에 대한 각각의 새로운 누적 업데이트에는 이전 빌드의 모든 핫픽스 및 보안 수정 사항이 포함되어 있습니다. 사용 중인 SQL Server 버전에 맞는 최신 빌드를 설치하는 것이 좋습니다.

SQL Server 2022용 최신 누적 업데이트

상태

Microsoft는 현재 이 문제를 조사하고 있습니다. 이 문서는 추가 정보나 지침을 찾으면 업데이트됩니다. 그때까지는 포함된 가용성 그룹이 있는 설치에 누적 업데이트를 설치하기 전에 다음과 같은 필요한 예방 조치를 취할 수 있습니다.

  • 서버 수준 개체 및 SQL Server 에이전트 개체를 스크립팅합니다.
  • 포함된 가용성 그룹을 삭제합니다.
  • 누적 업데이트를 적용합니다.
  • 포함된 가용성 그룹을 다시 만듭니다.

Microsoft에서 이는 "적용 대상" 섹션에 나열된 Microsoft 제품에서의 문제임을 확인했습니다.

참조 자료

Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.