訂閱處理
此主題提供有關訂閱處理、已傳遞報表的特性和觸發訂閱的資訊。
訂閱處理概觀
Reporting Services 包含排程與傳遞處理器,這個處理器會提供排程報表並將報表傳遞給使用者的功能。 報表伺服器會持續回應其監視的事件。 當符合訂閱所定義之條件的事件發生時,報表伺服器將讀取訂閱,以決定如何處理與傳遞報表。 報表伺服器要求在訂閱中指定的傳遞延伸模組。 傳遞延伸模組執行之後,報表伺服器會從訂閱擷取傳遞資訊,並將其傳送至傳遞延伸模組以供處理。
傳遞延伸模組會以訂閱中所定義的格式轉譯報表,然後傳遞報表或通知到指定的目的地。 如果無法傳遞報表,就會在報表伺服器記錄檔中記錄一個項目。 如果想要支援重試作業,可以設定報表伺服器在第一次嘗試失敗時,重新嘗試傳遞。
處理標準訂閱
標準訂閱會產生報表的一個執行個體。 報表會傳遞至單一共用資料夾,或訂閱中所指定的電子郵件地址。 報表配置與資料不會改變。 如果報表使用參數,標準訂閱會以報表中每個參數的單一值處理。
處理資料驅動訂閱
資料驅動訂閱可產生多個報表執行個體,傳遞至多個目的地。 報表配置不會變化,但是如果是從訂閱者結果集傳入參數值,報表中的資料可能會有變化。 從資料列集傳入值的時候,各訂閱者端對於報表轉譯方式及報表是附加或連結至電子郵件的傳遞選項,也可能會有所不同。
資料驅動訂閱可產生大量的傳遞。 報表伺服器會針對資料列集裡的每個資料列建立一個傳遞,資料列集是從訂閱查詢傳回的。
報表傳遞特性
透過標準訂閱傳遞的報表,通常會轉譯成靜態報表。 這些報表不是以最新的報表執行快照集為基礎,就是為了完成傳遞而產生的靜態報表。 如果您在視需要執行之報表的訂閱中選擇 [包含連結] 選項,則在您按一下超連結後,報表伺服器會執行報表。
[!附註]
透過 URL 傳遞的報表仍會保持連接到報表伺服器,且可以在檢視之間更新或刪除。 您對訂閱所選擇的傳遞選項決定報表以 URL、內嵌在電子郵件訊息的主體中,或當作附加檔案傳送的方式傳遞。
透過資料驅動訂閱傳遞的報表,可以在處理訂閱時重新產生。 報表伺服器並不會在報表特定執行個體或其資料集內鎖定,以完成資料驅動訂閱。 如果訂閱對不同訂閱者使用不同參數值,報表伺服器就會重新產生報表,以產生所需的結果。 在報表副本第一次建立與傳遞之後,如果基礎資料更新,在處理時稍後取得報表的使用者,可能就會看到以不同結果集為基礎的資料。 您可以使用以快照集執行的報表,以確保傳遞給所有訂閱者的是相同的報表執行個體。 然而,如果報表正在處理時,發生了快照集的排程更新,則使用者可能仍然會在報表中取得不同資料。
觸發訂閱處理
報表伺服器使用兩種事件來觸發訂閱處理:在排程中指定的時間驅動事件,或快照集更新事件。
時間驅動觸發程序使用報表特定排程或共用排程,來指定訂閱執行的時機。 若是視需要與快取報表,排程是唯一的觸發程序選項。
快照集更新事件使用報表快照集的排程更新來觸發訂閱。 您可以依據在報表上設定的報表執行屬性,定義只要以新資料更新了報表,就會觸發的訂閱。