Nasazení vlastní sestavy

Pro nasazení vlastního assembleru v SQL Server Reporting Services umístěte assembler do aplikačních složek jak v Návrhář sestav, tak v report serveru. Ve výchozím nastavení jsou vlastní sestavy oprávněny k vykonání v Reporting Services. Pro udělení práv vlastním assemblerům nad rámec povolení Execute je potřeba upravit konfigurační soubor rssrvpolicy.config pro report server a rspreviewpolicy.config konfigurační soubor pro okno Návrhář sestav náhledu. Alternativně můžete nainstalovat vlastní sestavení do globální cache assembleru (GAC).

Note

Pro Návrhář sestav jsou k dispozici dva režimy náhledu: záložka Náhled a vyskakovací okno náhledu, které se spustí při spuštění vašeho reportového projektu v režimu DebugLocal. Záložka Náhled vykonává všechny reportové výrazy pomocí sady oprávnění FullTrust a neaplikuje nastavení bezpečnostní politiky. Okno s náhledovým oknem má simulovat funkčnost serveru reportů, a proto obsahuje konfigurační soubor politiky, který vy nebo administrátor musíte upravit, aby používal vlastní assemblies v Návrhář sestav. Tento náhled také uzamkne vlastní sestavu. Proto je potřeba okno náhledu zavřít, abyste mohli upravit nebo aktualizovat svůj vlastní assemblerový kód.

Nasazení vlastní sestavy v Reporting Services

  1. Zkopírujte vlastní sestavu z místa sestavení do složky report server bin nebo do složky Návrhář sestav.

    Umístění vlastní sestavy do složky report server bin vám umožní publikovat reporty, které odkazují na vaši vlastní sestavu. Výchozí umístění složky bin pro report server je:

    Reporting Services 2016

    %ProgramFiles%\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin
    

    Reporting Services 2017 a později

    %ProgramFiles%\Microsoft SQL Server Reporting Services\SSRS\ReportServer\bin
    

    Umístění do složky Návrhář sestav vám umožní spouštět a ladit reporty, které odkazují na vaši vlastní sestavu v Návrhář sestav. Výchozí umístění Návrhář sestav je:

    Visual Studio 2012

    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies
    

    Visual Studio 2013

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies
    

    Visual Studio 2015

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies
    

    Visual Studio 2017

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS
    

    Visual Studio 2019

    C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS
    
  2. Otevřete příslušný konfigurační soubor. Výchozí umístění rssrvpolicy.config pro report server je:

    Reporting Services 2016

    %ProgramFiles%\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer
    

    Reporting Services 2017 a později

    %ProgramFiles%\Microsoft SQL Server Reporting Services\SSRS\ReportServer
    

    Soubory, které je třeba aktualizovat pro Návrhář sestav, jsou:

    Visual Studio 2012

    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config
    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config
    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config
    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSReportHost11.exe.config
    

    Visual Studio 2013

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSReportHost.exe.config
    

    Visual Studio 2015

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSReportHost.exe.config
    

    Visual Studio 2017

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\PreviewProcessingService.exe.config
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSPreviewPolicy.config
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportDesigner.config
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportHost.exe.config
    

    Visual Studio 2019

    C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\PreviewProcessingService.exe.config
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSPreviewPolicy.config
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportDesigner.config
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportHost.exe.config
    
  3. Přidejte skupinu kódu pro svůj vlastní assembler. Pro více informací viz Secure Development (Reporting Services).

Aktualizovat vlastní sestavy

V určitém bodě možná budete muset aktualizovat verzi vlastní sestavy, na kterou odkazuje několik publikovaných zpráv. Pokud tato sestava již existuje v adresáři bin serveru nebo Návrhář sestav a číslo verze sestavy je nějak zvýšeno nebo změněno, aktuálně publikované reporty nebudou správně fungovat. Budete muset aktualizovat verzi assembleru, na kterou se odkazuje element CodeModules v definici reportu, a reporty znovu publikovat. Pokud víte, že budete často aktualizovat vlastní sestavu a vaše aktuálně publikované zprávy musí odkazovat na novou sestavu, možná byste měli zvážit použití stejného čísla verze ve všech aktualizacích dané sestavy.

Pokud nepotřebujete, aby vaše aktuálně publikované reporty odkazovaly na novou verzi assembleru, můžete svůj vlastní assembler nasadit do globální cache assembleru. Globální cache assembleru může uchovávat více verzí téže sestavy, takže vaše aktuální reporty mohou odkazovat na předchozí verzi assembleru a vaše nově publikované reporty mohou odkazovat na aktualizovanou assembler. Další možností by bylo nastavit závazné přesměrování serveru reportů, aby vynutilo přesměrování všech požadavků na starý assembler na nový assembly. Museli byste upravit report server Web.config soubor a report server ReportingServicesService.exe.config soubor. Záznam může vypadat jako následující příklad:

<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>