2014-08-27 38 views
0

我們已經有一些數據驅動的訂閱在SSRS上運行。 有時他們會花很長時間才能完成,如果我檢查服務器上的活動,我會發現事情相對比較。如何設置Notification.ProcessAfter? (SSRS 2008R2)

我注意到的是,在Notification表的ReportServer數據庫中有一個名爲ProcessAfter的列。 有時,此值設置爲將來約15分鐘,並且訂閱僅在該列中指定的時間之後完成。

什麼是設置此值?由於這種行爲相對較少。

回答

1

幾天後,我張貼了這個問題here,並得到一個答案:

當訂閱運行時,有幾件事情發生:SQL Server代理作業火災和把一個行中的事件表中的RS 目錄中,並具有處理訂閱所需的設置。 RS服務器服務具有有限數量的線程(每個CPU 2個), 每隔幾秒查詢一次事件表以查找訂閱 進程。當它發現一個事件時,它會在通知 表中放入一行並開始處理訂閱。

行將停留在通知表中的唯一原因是RS服務事件處理線程沒有處理事件 。 根據我的理解,NotificationEntered列存儲通知輸入時的 時間。如果第一次嘗試不成功(MaxRetries屬性) 並指定每次重試之間的時間間隔(以秒爲單位) attempt(SecondsBeforeRetry屬性)傳遞擴展提供了一些 設置用於指定報表服務器將重試的次數 )。 SecondsBeforeRetry的默認值爲900秒,表示15分鐘。當交付 失敗時,它會每15分鐘重試一次。

參考:監控和故障排除訂閱交付 擴展(S)常規配置

如果有任何疑問,請隨時讓我知道。

感謝,凱瑟琳熊

我發現擴展(S)General Configuration link特別有用