0

최근 SQL 2008 R2의 SSRS 인스턴스를 새 SQL 2012 인스턴스로 복사했습니다. 보고서 서버 DB 및 암호화 키를 백업/복원하고 서비스/실행 계정 등을 구성했습니다. 문제없이 보고서 관리자를 통해 보고서를 실행할 수 있으며 동일한 방식으로 새로운 구독을 만들 수 있습니다. (R2에서 설정) 이전에 기존 구독 중 하나를 실행할 예정이다 때마다SSRS 2012 전자 메일 구독에 AuthorizationExtensionException 오류가 발생했습니다.

그러나, 다음과 같은 오류와 함께 실패합니다

Microsoft.ReportingServices.Diagnostics.Utilities.AuthorizationExtensionException: An error occurred when invoking the authorization extension. ---> System.ArgumentNullException: SafeHandle cannot be null. 

제안이이 지정 보안과 관련된 것 같다 구성 요소가 있지만 우리에게는 아무 것도 없습니다. 우리는 다른 목적을 위해 커스텀 DLL을 가지고 있지만, 문제가되는 서브 스크립 션이 실행될 때 호출되지 않기 때문에 그렇게 할 것 같지 않습니다. 이 DLL에 대해 CAS가 구성됩니다.

나는이 오류를 해결하기 위해 어디서 시도해 볼지에 대한 제안을 찾고 있습니다.

답변

1

동일한 질문을 MSDN and got an answer에 게시했습니다. 이전 서버에서 복사 한 구독이 새 서버에없는 로컬 사용자에 의해 만들어 졌을 수 있음을 제안했습니다.

몇 가지 조사를 거친 결과이 사례가 밝혀졌습니다. SSRS는 구독을 실행하려고 할 때 일종의 확인을 수행해야하므로 구독자 (보고서 서버 DB의 구독 테이블에있는 소유자 ID 필드)가 유효한 계정이어야합니다.

이 변경 사항을 유효한 도메인 계정으로 변경하면 (로컬 계정도 올바르게 작동 함) 구독이 제대로 작동합니다.

관련 문제