為什麼 SSRS 不更新報告的描述?
我創建了一個 SSRS 2016 解決方案並部署了我的報告。每個報表都有一個“DESCRIPTION”屬性,該屬性在報表管理器的報表屬性中可見。在報表管理器中,也可以修改此屬性。
不幸的是,此描述屬性在 Visual Studio 中更改並重新部署報告後將不會更改。
我檢查了報表伺服器數據庫以排除任何記憶體問題。在重新部署後/重新部署後,描述列的值也保持不變:
USE ReportServer; select [Description], * from dbo.[Catalog] where Path like '/myReports/Demo';
由於此屬性是報告的一部分,我希望它可以通過部署進行修改。有什麼我們可以配置的還是我錯過了什麼?為什麼這不起作用?
環境:
ReportServer: SQL-Server 2016 Developer Edition Microsoft Visual Studio Enterprise 2015 Version 14.0.25424.00 Update 3 Microsoft .NET Framework Version 4.6.01055 SQL Server Data Tools 14.0.60812.0 Microsoft SQL Server Data Tools SQL Server Reporting Services 13.0.1700.68 Designer für Microsoft SQL Server Reporting Services Version 13.0.1700.68
根據 Microsoft 的說法,這是一個“已知”問題/功能。描述、參數預設值、訂閱等都屬於報表“元數據”,並在報表管理器伺服器上單獨維護。在報告管理器上更改這些的唯一方法是手動操作它們或刪除報告並重新上傳。下面的連結專門處理與報告參數有關的這個問題,但描述也是如此。
以下是有關參數的Technet 文章的摘錄
如果您從報表設計器重新發布報表定義,通常會保留您在報表管理器中為已發布報表設置的參數屬性。如果報表定義作為同一個報表重新發布,並且參數名稱和數據類型保持不變,您的屬性設置將被保留。如果您在報表定義中添加或刪除參數,或者更改現有參數的數據類型或名稱,您可能需要更改已發布報表中的參數屬性。
這是一個相關的連接問題
重新部署現有報告時不會更新參數預設值。這些要麼必須手動更新,要麼必須刪除並重新部署報告。後者重新生成所有報告 ID(GUID)並使從 ExecutionLog 跟踪使用情況更加困難。
此處(連結)將其解釋為設計使然,但是我無法設想由管理員維護的參數預設值和提示。
應將類似於 OverwriteDataSources 的覆蓋機制添加到 Reporting Services 項目中,以允許從 Visual Studio 進行部署。