共用方式為


排程與傳遞處理器

SQL Server Reporting Services 包含一個排程與傳遞處理器元件,可支援排程的作業和驅動傳遞延伸模組,將報表發送至電子郵件收件匣或共用資料夾目的地。排程與傳遞處理器提供下列功能:

  • 維護事件與通知的佇列。在向外延展部署中,佇列會在部署中的所有報表伺服器間共用。
  • 呼叫報表處理器以執行報表、處理訂閱或清除快取報表。因為排程事件而發生之所有報表處理,是由報表伺服器 Windows 服務執行,而非由報表伺服器 Web 服務執行。
  • 呼叫在訂閱中指定的傳遞延伸模組,以便可以傳遞報表。

排程和傳遞作業的其他層面是由使用「排程與傳遞處理器」的其他元件和服務所處理。明確地說,「排程與傳遞處理器」會在報表伺服器 Windows 服務中執行,並使用 SQL Server Agent 做為計時器來產生排程的事件。下列清單會描述排程的作業如何在 Reporting Services 部署中運作:

  1. 當使用者建立排程時,會定義排程的作業。排程會定義執行報表所將使用的日期和時間、重新整理快照集,或是讓快取到期。
  2. 報表伺服器會將排程資訊儲存在報表伺服器資料庫中。
  3. 報表伺服器在 SQL Server Agent 中建立對應的工作,然後根據提供的排程資訊執行工作。系統會使用與報表伺服器資料庫之間的現有開啟連接,透過預存程序建立工作。
  4. SQL Server Agent 會在排程中指定的日期和時間執行作業,而此作業會建立一個事件,該事件會加入到由 Reporting Services 所維護的佇列中。
  5. 事件導致報表或訂閱程序執行。在佇列中偵測到事件時會加以處理,而且會相對應地處理或傳遞報表。

Reporting Services 會針對所有排程的作業維護事件佇列,也會定期輪詢此佇列,以檢查是否有新的事件。依預設,每隔 10 秒鐘會掃描一次佇列。您可以變更此間隔,其方式是在 RSReportServer.config 檔中修改 PollingIntervalIsNotificationServiceIsEventService 組態設定。如需詳細資訊,請參閱<RSReportServer 組態檔>。

伺服器相依性

排程與傳遞處理器需要啟動報表伺服器 Windows 服務與 SQL Server Agent。排程與傳遞處理功能必須透過 SQL Server 介面區組態工具啟用。SQL Server Agent 與報表伺服器 Windows 服務都必須執行,排程的作業才會發生。

ms156297.note(zh-tw,SQL.90).gif附註:
您可以使用介面區組態工具,暫時或永久地停止排程的作業。排程與傳遞處理器不可延伸,也沒有組態設定。您無法變更它管理事件與通知的方式。如需有關「介面區組態」工具的詳細資訊,請參閱<SQL Server 介面區組態>。

停止 SQL Server Agent 的影響

依預設,排程的報表是使用 SQL Server Agent。如果您停止服務,則除非您透過 FireEvent 方法,利用程式加入處理要求,否則不會有新處理要求加入佇列。您重新啟動服務後,建立報表處理要求的作業就會繼續。報表伺服器不會嘗試重新建立可能在 SQL Server Agent 離線期間所發生的報表處理作業。如果您停止 SQL Server Agent 一個星期,那個星期內所有排程的作業都會遺失。

ms156297.note(zh-tw,SQL.90).gif附註:
SQL Server Agent 為 Reporting Services 提供的功能,可以由使用 FireEvent 方法,將排程事件加入佇列的自訂程式碼取代。

停止報表伺服器 Windows 服務的影響

如果停止報表伺服器 Windows 服務,SQL Server Agent 會繼續將報表處理要求加入佇列。SQL Server Agent 中的狀態資訊會指出作業成功。但是,因為報表伺服器 Windows 服務已停止,因此實際上沒有任何報表處理發生。要求將繼續在佇列中累積,直到您重新啟動報表伺服器 Windows 服務為止。一旦您重新啟動報表伺服器 Windows 服務之後,佇列中的所有報表處理要求都會依照順序處理。

請參閱

概念

RSReportServer 組態檔
啟動與停止報表伺服器 Windows 服務
Reporting Services 元件概觀

其他資源

透過訂閱傳遞報表
排程報表和訂閱

說明及資訊

取得 SQL Server 2005 協助