分享方式:


尋找並淘汰未使用的 .rdl 報告

適用於: Power BI Report Builder Power BI Desktop Power BI 2022 報表伺服器 SQL Server 2022 Reporting Services

您的公司可能會處理 Power BI 報表伺服器和 SQL Server Reporting Services (SSRS) 中的數百個編頁報告 (.rdl 檔案)。 其中一些報告可能已過時,且需要淘汰。 身為報表作者或系統管理員,您不想將未使用的報表移轉至 Power BI 服務。 當您規劃移轉至雲端時,建議您進行內務處理,以清除未使用的 .rdl 報告。 此最佳做法支援保留控管,並可讓組織使用保留排程和資料原則。

有兩個程序可用來檢查未使用的報表。 我們會將清除延伸至未使用的物件,以及移除可能具有可能過時資料的未使用資料庫資料表。

執行稽核 (選用)

首先,建議您建立伺服器稽核和資料庫稽核規格。 稽核 SQL Server 資料庫引擎或個別資料庫的執行個體,會牽涉到追蹤和記錄資料庫引擎中所發生之事件。 SQL Server 稽核可讓您建立伺服器稽核,其中可能包含伺服器等級事件的伺服器稽核規格,以及資料庫等級事件的資料庫稽核規格。 稽核的事件可以寫入事件記錄或稽核檔案。

一旦您填入的稽核記錄中含有用於報表的資料表和預存程序,您就可以將這些物件匯出至 Excel 檔案,並與專案關係人共用這些物件。 讓他們知道您正在準備取代未使用的物件。

注意

某些重要報表可能很少執行,因此請務必取得不常使用資料庫物件的意見反應。 藉由取代物件,您可以在物件名稱前面放置 zdel 來改變其名稱,因此物件會卸除至物件總管底部。 如此一來,如果您稍後決定需要 zdel 物件,您可以將名稱變更回原始名稱。 一旦您知道已準備好從資料庫移除報告,就可以建立步調以刪除未使用的物件。

建立報表使用計量清單

接著,建議您藉由查詢報表伺服器 DB 來建立 .rdl 報表使用計量清單。 使用以下的 T-SQL 來衍生使用計數。 如果您的報表伺服器設定為儲存一年的報表執行歷程記錄,則可以使用特定日期來篩選使用計量。


; with UnusedReportsCte 
AS 
( 
SELECT 
Cat.Name,Path,COUNT(ExeLog.TimeStart) AS Cnt 

FROM (SELECT * FROM Catalog 
WHERE type=2 and Hidden=0) AS Cat 
LEFT JOIN 
ExecutionLog AS ExeLog 
ON ExeLog.ReportID = Cat.ItemID 
AND ExeLog.TimeStart>'01/01/2021' 
GROUP BY Cat.Name,Path) 
SELECT * FROM UnusedReportsCte 
ORDER BY Cnt ASC,path 

注意

如果執行父報表,子報表和連結報表不會出現在執行記錄檔中。

您可以從這裡決定是否要立即刪除未使用的報表,或以訊息取代報表。 您可以讓使用者知道不再使用該報表,使得他們可以連絡系統管理員以取得支援。 然後,您可以開發步調,在一段時間後加以刪除。