管理執行中的處理序

SQL Server Reporting Services 會監視在報表伺服器上執行之作業的狀態。報表伺服器會以固定間隔執行進行中作業的掃描,並將狀態資訊寫入報表伺服器資料庫。如果下列任一個處理序進行中,作業就是進行中:在遠端或本機資料庫伺服器上的查詢執行、報表處理,以及報表轉譯。

您可以管理使用者作業和系統作業。使用者作業是由個別使用者或訂閱起始。這包括視需要執行報表、要求報表記錄快照集、手動建立報表快照集,以及處理標準訂閱。系統作業不會由報表伺服器起始。系統作業包括排程的報表執行快照集、排程的報表記錄快照集,以及資料導向訂閱。

報表處理時間與資源的使用,會依報表、查詢複雜度、資料量,以及針對報表所指定的轉譯格式而大有不同。針對本機資料來源進行簡單查詢的報表,通常會在幾毫秒內完成,並且不需要管理或微調。相對地,以 PDF 或 Excel 轉譯的大型報表,則會依硬體資源、傳遞選項和是否同時執行其他處理序,而可能需要很長的處理時間。在報表伺服器上,大多數長時間執行中的處理序,是等候查詢處理結束的報表轉譯作業和處理序。偶爾您會因為要將電腦離線,或者停止要花太長時間完成的執行中作業,而必須取消報表處理序。

檢視與取消作業

您可以使用 SQL Server Management Studio 來檢視或取消在報表伺服器上執行的作業。您必須重新整理頁面,以便擷取目前正在執行之作業的清單,或從報表伺服器資料庫取得最新的作業狀態。當您在 Management Studio 中連接至報表伺服器時,可以開啟 [作業] 資料夾來檢視報表伺服器電腦上目前正在處理之報表的清單。每項作業的狀態資訊都會顯示在 [作業屬性] 頁面中。您可以透過開啟 [取消報表伺服器作業] 對話方塊,檢視所有作業的狀態資訊。

您可以取消下列處理序:

  • 視需要報表處理。

  • 排程報表處理。

  • 個別使用者所擁有的標準訂閱。

取消作業只會取消在報表伺服器上執行的處理序。由於報表伺服器不會管理在其他電腦上進行的資料處理,因此您必須手動取消隨後在其他系統上遺棄的查詢處理序。請考慮指定查詢逾時值,以自動關閉花太長時間執行的查詢。如需詳細資訊,請參閱<設定報表和共用資料集處理的逾時值 (SSRS)>。如需有關暫時暫停報表的詳細資訊,請參閱<暫停報表與訂閱處理>。

[!附註]

很少數的情況下,您可能需要重新啟動伺服器才能取消處理序。如需詳細資訊,請參閱<啟動與停止報表伺服器服務>。

您無法使用 Management Studio 來列出或取消模型產生、模型處理或資料導向訂閱。Reporting Services 不會提供取消模型產生或處理的方式。不過,您可以使用本主題所提供的指示來取消資料導向訂閱。

如何取消報表處理或訂閱

  1. 在 Management Studio 中,連接至報表伺服器。如需指示,請參閱<如何:連接到 Management Studio 中的報表伺服器>。

  2. 開啟 [作業] 資料夾。

  3. 以滑鼠右鍵按一下報表,然後按一下 [取消作業]

如何取消資料導向訂閱

  1. 在文字編輯器中開啟 RSReportServer.config 檔。

  2. 尋找 IsNotificationService。

  3. 將它設為 False。

  4. 儲存檔案。

  5. 在報表管理員中,從報表的 [訂閱] 索引標籤或 [我的訂閱] 中刪除資料導向訂閱。

  6. 刪除訂閱之後,請在 RSReportServer.config 檔中,尋找 IsNotificationService,然後將它設為 True。

  7. 儲存檔案。

設定擷取作業狀態的頻率設定

執行中的作業會儲存在報表伺服器的暫存資料庫中。您可以修改 RSReportServer.config 檔案中的組態設定,以控制報表伺服器掃描進行中作業的頻率,和執行中作業的狀態要等候多久才會從新的變更為執行中。RunningRequestsDbCycle 設定會指定報表伺服器掃描執行中處理序的頻率。依預設,每 60 秒就會記錄狀態資訊。RunningRequestsAge 設定會指定作業從新的轉換為執行中的間隔。

以程式設計方式管理作業

您可以用程式設計方式或利用指令碼來管理作業。如需詳細資訊,請參閱<ListJobs>和<CancelJob>。