2012-10-04 73 views
4

我在爲商業智能開發工作室(BIDS)中創建的SSRS報告執行存儲過程時遇到了超時問題。我的存儲過程非常大,平均需要將近4分鐘才能在SQL Server Management Studio中執行。所以我通過將「超時(以秒爲單位)」增加到600秒(10分鐘)來適應這種情況。我還將工具 - >選項 - >商業智能設計器 - >查詢超時和連接超時的查詢超時時間增加到600秒。BIDS SSRS在使用存儲過程時報告查詢超時問題,並適當設置了超時設置

最後,我創建了另外兩個使用存儲過程而沒有問題的報告。 (它們很小,需要大約30秒才能執行)。對於我的數據集屬性,我總是使用查詢類型:「文本」,並使用EXEC命令調用存儲過程。

任何想法爲什麼我的存儲過程的興趣仍然超時?

下面是我點擊「刷新字段」後,收到錯誤消息:

「無法爲查詢創建字段列表驗證您可以連接到數據源和您的查詢。語法是正確的。「

詳細

「超時過期。超時時間已過操作完成或服務器之前未響應。 該語句已終止。」

謝謝你的時間。

+1

首先,如果您的過程正在返回大量字段,則可能需要將其過濾爲更小的塊,因爲內存限制。其次,如果報表中存在太多複雜的表達式/分組,則即使完成該過程,報表處理也可能會超時。看看是否有幫助。 – StevenWhite

回答

1

檢查rsreportserver.config文件中的Add Key =「DatabaseQueryTimeout」Value =「120」的值。你可能還需要在那裏增加它。

在該文件更多信息:

http://msdn.microsoft.com/en-us/library/ms157273.aspx

此外,除了什麼對您帖子的第一個評論者指出,以我的經驗,如果你是渲染PDF,這些也可以超時。您的大型數據集將返回給我一段合理的時間,但PDF的呈現可能會持續一段時間。嘗試渲染到Excel。 BID結果呈現得相當快,但出口結果是可能導致問題的原因。

+0

我還應該補充一點,如果您使用的是舊版本的SSRS,則Excel 2005渲染限制爲每張紙65,000行。您將需要動態添加一個分頁符,它強制渲染的excel文件中的一個新工作表。 查看此鏈接,向下滾動到分頁符部分 http://msdn.microsoft.com/en-us/library/ms157328.aspx –