해결 방법: 포함된 가용성 그룹이 있는 SQL Server 인스턴스에 누적 업데이트를 적용한 후 오류가 발생합니다.
증상
다음 시나리오를 고려하세요.
- 포함된 가용성 그룹이 배포된 SQL Server 2022 인스턴스가 있습니다.
- 포함된 가용성 그룹의 컨텍스트에서 서버 수준 개체(로그인 및 작업)를 만듭니다.
이 시나리오에서는 이 SQL Server 인스턴스에 누적 업데이트를 설치한 후 다음 오류 중 하나가 발생합니다.
오류 1
다음 오류 메시지와 함께 SQL Server 에이전트 작업이 실패합니다.
2단계 실행을 시작할 수 없습니다(이유: JobOwner <JobOwner> 에 하위 시스템 SSIS에 프록시 <#> 을 사용할 수 있는 권한이 없음). 단계가 실패했습니다.
SQL Server 에이전트 오류 로그는 다음과 유사한 오류 메시지를 기록합니다.
<타임스탬프> - ! [298] SQLServer 오류: 208, 잘못된 개체 이름 'syssubsystems'. [SQLSTATE 42S02]
<타임스탬프> - ! [517] SQL 오류 번호 208, 심각도 16
이 단계에서 syssubsystems
는 포함된 가용성 그룹의 데이터베이스에서 msdb
테이블이 누락되고 인스턴스 수준 msdb
데이터베이스에 있습니다. 이러한 오류를 수정하고 작업이 성공적으로 실행되도록 하려면 수신기에 연결하고 테이블과 테이블의 행을 만들어 인스턴스 수준 syssubsystems
테이블을 msdb
포함된 가용성 그룹의 데이터베이스에 수동으로 복사할 수 있습니다.
오류 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(가용성 그룹) 마스터에 대한 xp_msver
확장 저장 프로시저에 대한 권한이 부여 EXECUTE
되지 않기 때문에 public
발생합니다.
해결
이 문제는 SQL Server에 대한 다음 누적 업데이트에서 해결되었습니다.
SQL Server의 누적 업데이트 정보
SQL Server에 대한 각각의 새로운 누적 업데이트에는 이전 빌드에 있던 모든 핫픽스 및 보안 수정 사항이 포함됩니다. SQL Server 버전에 대한 최신 빌드를 설치하는 것이 좋습니다.
SQL Server 2022에 대한 최신 누적 업데이트
상태
Microsoft는 현재 이러한 문제를 조사하고 있습니다. 이 문서는 추가 정보 또는 지침을 찾을 때 업데이트됩니다. 그때까지는 포함된 가용성 그룹이 있는 설치에 누적 업데이트를 설치하기 전에 다음과 같은 필요한 예방 조치를 취할 수 있습니다.
- 서버 수준 개체 및 SQL Server 에이전트 개체를 스크립트합니다.
- 포함된 가용성 그룹을 삭제합니다.
- 누적 업데이트를 적용합니다.
- 포함된 가용성 그룹을 다시 만듭니다.
Microsoft는 "적용 대상" 섹션에 있는 Microsoft 제품에 문제가 있다는 것을 확인했습니다.
참조
Microsoft가 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.