2014年1月7日 星期二

[SQL Server 2008R2][SSRS] 報表執行模式

在 SSRS 的「報表管理員」中的每份報表都可以設定其個別執行方式,只需點選報表旁的下拉選單的三角形後,再點選「管理」,並點選「處理選項」分頁,即可顯示報表執行設定畫面。


報表的處理方式分為兩大類,分別為「永遠以最新的資料執行此報表」及「從報表執行快照集轉譯此報表」


依使用者需要檢視資料的時間點和報表伺服器最快可以處理資料的速度,來取決所適用的報表執行方式。若使用者需要檢視即時或最近期的資料,報表伺服器可以在當下將報表中所需的資料從來源資料庫中產生,可以選擇「永遠以最新的資料轉譯此報表」,在使用此項目的同時,還需要決定是否使用「快取報表」的功能。

若使用者需要看的只是歷史性的報表資料,或是報表伺服器需要花費很長一段時間才能將來源資料庫中的資料處理完畢,那就可以考慮選擇「從執行快照集轉譯此報表」項目,以手動或排程的方式來建立「快照集」或「報表記錄」。

依照報表管理員中執行的設定,可以將報表的執行方式分為下列幾種:

  • 依需求執行報表。
  • 快取報表。
  • 快照集。
  • 歷程記錄。


永遠以最新的資料轉譯此報表

  • 依需求執行報表
    • 預先儲存登入帳號及密碼:自由選擇。
    • 儲存時點:每次報表被開啟時。
    • 儲存位置:報表伺服器暫存資料庫。
    • 儲存時效:關閉報表後,暫存報表即被刪除。
    • 每份報表限制的暫存數量:無。
  • 快取報表
    • 預先儲存登入帳號及密碼:是。
    • 儲存時點:第一次報表被開啟時。
    • 儲存位置:報表伺服器暫存資料庫。
    • 儲存時效:依設定的快取報表暫存副本有效時間。
    • 每份報表限制的暫存數量:依照報表的查詢參數值,每種參數組合允許暫存一份。

從執行快照集轉譯此報表

  • 快照集
    • 預先儲存登入帳號及密碼:是。
    • 儲存時點:事先將報表內容處理完成。
    • 儲存位置:報表伺服器資料庫。
    • 儲存時效:新的快照集報表取代舊的快照集報表。
    • 每份報表限制的暫存數量:一份。
  • 歷程記錄
    • 預先儲存登入帳號及密碼:是。
    • 儲存時點:事先將報表內容處理完成。
    • 儲存位置:報表伺服器資料庫。
    • 儲存時效:只要報表或歷程記錄沒被刪除將永遠存在。
    • 每份報表限制的暫存數量:允許多份。

依需求執行的報表能產生最即時的報表資料,但如果多人、經常性的執行報表,會對報表伺服器與來源資料庫的執行效能產生負面的結果,負擔重。當多人存取同樣內容的報表時,考慮採用快取報表模式。

快取報表是當使用者第一次執行此報表,會產生中繼報表儲存在報表伺服器的暫存資料庫 ( ReportServerTempDB ) 中。之後,當使用者執行同一份報表時,直接從暫存資料庫將先前儲存的中繼報表取出,將它轉譯成使用者要的報表格式。可以有效降低來源資料庫及報表服務伺服器的負擔,以提昇報表執行效能。不過,快取報表的中繼資料儲存基礎是根據同一份報表且同樣的參數查詢條件,所以當同一份報表卻輸入不同的參數查詢條件時,SSRS 還是會重新依照不同的參數條件查詢產生新的資料集,並且重新產生對應的中繼報表與轉譯報表。


沒有留言: