SQL Server Reporting Services에서 사용자 지정 어셈블리를 배포하려면 보고서 디자이너와 보고서 서버의 애플리케이션 폴더에 어셈블리를 배치합니다. 기본적으로 사용자 지정 어셈블리에는 Reporting Services에 대한 권한이 부여 Execution 됩니다. 실행 권한 이외의 사용자 지정 어셈블리 권한을 부여하려면 보고서 서버의 rssrvpolicy.config 구성 파일과 보고서 디자이너 미리 보기 창의 rspreviewpolicy.config 구성 파일을 편집해야 합니다. 또는 GAC(전역 어셈블리 캐시)에 사용자 지정 어셈블리를 설치할 수 있습니다.
비고
보고서 디자이너에는 미리 보기 탭과 보고서 프로젝트가 모드에서 DebugLocal 시작될 때 시작되는 팝업 미리 보기 창의 두 가지 미리 보기 모드가 있습니다. 미리 보기 탭은 권한 집합을 사용하여 FullTrust 모든 보고서 식을 실행하며 보안 정책 설정을 적용하지 않습니다. 팝업 미리 보기 창은 보고서 서버 기능을 시뮬레이션하기 위한 것이므로 사용자 또는 관리자가 보고서 디자이너에서 사용자 지정 어셈블리를 사용하도록 수정해야 하는 정책 구성 파일이 있습니다. 이 팝업 미리 보기는 사용자 지정 어셈블리도 잠급 수 있습니다. 따라서 사용자 지정 어셈블리 코드를 수정하거나 업데이트하려면 미리 보기 창을 닫아야 합니다.
Reporting Services에서 사용자 지정 어셈블리를 배포하려면
빌드 위치에서 보고서 서버 bin 폴더 또는 보고서 디자이너 폴더로 사용자 지정 어셈블리를 복사합니다. 보고서 서버에 대한 bin 폴더의 기본 위치는 \Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin %ProgramFiles%. 보고서 디자이너의 기본 위치는 \Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies를 %ProgramFiles%.
사용자 지정 어셈블리를 보고서 서버 bin 폴더에 배치하면 사용자 지정 어셈블리를 참조하는 보고서를 게시하고 보고서 디자이너 폴더에 배치하면 보고서 디자이너에서 사용자 지정 어셈블리를 참조하는 보고서를 실행하고 디버그할 수 있습니다.
기본 실행 권한을 초과하여 사용자 지정 어셈블리 코드 권한을 부여해야 하는 경우:
적절한 구성 파일을 엽니다. rssrvpolicy.config 기본 위치는 \Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer를 %ProgramFiles%. rspreviewpolicy.config 기본 위치는 \Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies를 %ProgramFiles%.
사용자 지정 어셈블리에 대한 코드 그룹을 추가합니다. 자세한 내용은 보안 개발(Reporting Services)을 참조하세요.
사용자 지정 어셈블리 업데이트
현재 여러 게시된 보고서에서 참조 중인 사용자 지정 어셈블리의 버전을 업데이트해야 할 수도 있습니다. 해당 어셈블리가 보고서 서버 또는 보고서 디자이너의 bin 디렉터리에 이미 있고 어셈블리의 버전 번호가 어떤 식으로든 증가하거나 변경되면 현재 게시된 보고서가 더 이상 제대로 작동하지 않습니다. 보고서 정의 요소에서 CodeModules 참조되는 어셈블리의 버전을 업데이트하고 보고서를 다시 게시해야 합니다. 사용자 지정 어셈블리를 자주 업데이트하고 현재 게시된 보고서에서 새 어셈블리를 참조해야 하는 경우 특정 어셈블리의 모든 업데이트에서 동일한 버전 번호를 사용하는 것이 좋습니다.
현재 게시된 보고서가 새 버전의 어셈블리를 참조할 필요가 없는 경우 사용자 지정 어셈블리를 전역 어셈블리 캐시에 배포할 수 있습니다. 전역 어셈블리 캐시는 동일한 어셈블리의 여러 버전을 유지할 수 있으므로 현재 보고서는 이전 버전의 어셈블리를 참조할 수 있고 새로 게시된 보고서는 업데이트된 어셈블리를 참조할 수 있습니다. 그러나 또 다른 방법은 이전 어셈블리에 대한 모든 요청을 새 어셈블리로 강제로 리디렉션하도록 보고서 서버의 바인딩 리디렉션을 설정하는 것입니다. 보고서 서버 Web.config 파일 및 보고서 서버 ReportService.exe.config 파일을 수정해야 합니다. 항목은 다음과 같을 수 있습니다.
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>