處理大型報表

大型報表會呈現某些處理挑戰,而且如果設定要正確執行,則需要特定設定。 除非已設定為支援分頁,否則不應視需要執行大型報表。

注意

依預設,會啟用分頁符號。 如果您認為報表包含大量數據,請勿停用分頁符號。 用來一開始轉譯報表的 HTML 轉譯格式會在瀏覽器中開啟報表。 如果報表未分頁,所有的資料都會包含在單一頁面中,這是大多數瀏覽器都無法容納的。 例如,含有 5,000 個資料列資料的報表,很難在瀏覽器的單一頁面中檢視。

如果您使用大型報表,您應該選擇可以容納大型文件的報表執行、轉譯和傳遞選項。 從查詢傳回的數據列集,以及用來呈現報表的轉譯延伸模組會決定報表大小。

針對包含動態資料的報表,每次執行報表之後,報表大小有可能會大幅變更。 在此情況下,您應該監視數據源,以判斷數據波動如何影響報表,以及您是否必須遵循本文中規定的步驟。

如需如何診斷逾時錯誤和記憶體不足錯誤的詳細資訊和秘訣,請參閱如何在報表伺服器blogs.msdn.microsoft.com上執行報表時診斷問題一文

組態建議

報表執行、報表轉譯與報表存取的建議包括下列項目:

  • 設計報表以支援分頁。 報表伺服器每次傳送一頁報表。 如果報表包含分頁,您就可以控制多少資料流至瀏覽器。 如需詳細資訊,請參閱預先載入快取 (SSRS)。

  • 設定報表當成已排程的報表快照集執行,以防止其視需要執行。 請勿設定報表執行的逾時值。 在離峰時段執行報表。

  • 如果您要控制報表是否處理,請設定報表使用共用資料來源。 使用共用資料來源的一個優點,是您可以停用資料來源。 停用資料來源可避免處理報表。

  • 如果您想要節省磁碟空間,請停用報表記錄。 若要停用報表記錄,請清除 [記錄屬性] 頁面上的所有複選框

  • 限制對報表的存取。 設定報表使用項目層級安全性,並以只允許需要的使用者存取之新角色指派取代預設的角色指派。

    依預設,使用者可以開啟他們可在資料夾階層中檢視的任何報表。 即使設定報表以快照集執行,可在資料夾中檢視報表項目的使用者也可以開啟報表。 如果報表很大,可能會導致瀏覽器在入口網站中開啟報表時停止回應。

轉譯建議

設定報表散發之前,您應該知道哪些轉譯用戶端可以容納大型檔。 建議的格式是使用軟分頁符號的預設 HTML 轉譯延伸模組,但是您可以選擇支援分頁的任何格式。

每一個轉譯格式的效能和記憶體耗用量各不相同。 相同的報表會以不同的速率轉譯,而且視您選取的格式而定,需要不同的記憶體數量。 最快速且記憶體需求較少的格式包括 CSV、XML 和 HTML。 PDF 和 Excel 的效能最慢,但其原因不同。 PDF 是屬於 CPU 運算密集的格式,Excel 則是 RAM 需求高的格式。 影像轉譯則介於這兩個群組之間。 您可以在定義如何散發報表時指定此格式。

部署與散發建議

如果您使用分頁符號來控制報表轉譯,您可以部署大型報表的方式與部署任何報表的方式相同。 您可以透過入口網站、SharePoint Web 組件或加入入口網站或網站的 URL,來提供報表的存取。 所有這些部署選項都支援隨選存取,以及先前執行的報表快照集。

有一個替代部署策略,是將報表散發給個別使用者。 如果您小心設定傳遞選項的方式,可以透過訂用帳戶散發大型報表。 您可以使用標準訂閱或資料驅動訂閱來傳遞報表。 訂用帳戶和傳遞 建議 包含下列設定:

  • 設定使用網頁封存 (MHTML)、PDF 或 Excel 的訂閱。

  • 如果您使用 PDF 或 Excel,請設定訂用帳戶以使用檔案共享傳遞。 傳遞了報表之後,您可以使用桌面應用程式來處理報表。 您必須設定檔案共用的權限,以決定誰可以檢視報表。

    報表在檔案共享上之後,報表就不會再受到 Reporting Services 的控制或保護。 如果您要在更新報表時接獲通知,請建立使用電子郵件傳遞僅傳送通知的第二個訂閱。

如果您要使用電子郵件報表傳遞,請設定包含連結的訂閱。 避免將報表當成附加檔案傳送。

訂閱和傳遞 (Reporting Services)
設定報表處理屬性
指定報表數據源的認證和連接資訊
報表伺服器內容管理 (SSRS 原生模式)
預先載入快取 (SSRS)