2013-04-22 71 views
0

我偶爾在SQL Server 2008 R2 Reporting Services中收到錯誤。我有大約25個訂閱,每天晚上接近午夜,有幾次他們都因這個錯誤而失敗。我不確定它是否是一條紅鯡魚,但是我昨天晚上10點左右殺死了大部分連接(該服務器的連接90%來自SSRS,其中大部分連接到ReportServer數據庫),並且沒有發生錯誤幾個小時。這是一個相對較新的安裝,但是當我從舊服務器遷移時我沒有做任何調整,所以我不知道爲什麼會發生這種情況。我可以通過增加最大池大小和殺死未使用的連接來解決它,但我寧願不這樣做。SSRS連接錯誤

ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.DataSourceOpenException: , Microsoft.ReportingServices.Diagnostics.Utilities.DataSourceOpenException: Cannot create a connection to data source 'MyDB'. ---> System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

好像問題是,連接不被重用,但只能通過SSRS,沒有其他應用擊中服務器。爲什麼會這樣?

+0

這些數據驅動訂閱還是定期的? – StevenWhite 2013-04-22 16:07:25

+0

我有一些全天運行的數據驅動的子系統,但是在午夜時分運行的25箇中只有1個或2個是數據驅動的。你可能會嘗試一些東西。有沒有辦法輕鬆將連接與源報告相關聯? – influent 2013-04-22 16:11:07

回答

0

有幾件事情需要考慮,特別是因爲你有數據驅動的訂閱。

  1. 試圖錯開他們計劃運行的時間,以便他們並不都在同一時間爭奪資源。

  2. 調整數據驅動訂閱查詢的超時時間(這可能是您的主要問題)。報告和訂閱每個都有自己的單獨超時設置。

+0

數據驅動的訂閱查詢超時範圍從30秒到200秒,但大多數(如果不是全部的話;我正在檢查)使用共享數據源。爲什麼在這種情況下查詢超時很重要,如果它們中沒有一個設置爲0(無限制)? – influent 2013-04-22 16:51:19

+0

您的錯誤消息特別提到超時。如果其中一個訂閱查詢超時,您將收到針對您的訂閱狀態的此類錯誤消息。最好至少給他們幾分鐘。 – StevenWhite 2013-04-22 16:57:10

+0

查詢不超時,我會在我的SQL Sentry監視器中看到。問題在於這些連接並沒有開始。在我之前的評論中,我忘記了我們正在討論查詢超時而不是連接超時。 – influent 2013-04-22 17:00:36