2010-03-16 29 views
1

我支持的應用程序最近開始經歷在SQL Server Reporting Services中執行報告所需的延長時間。正在執行的報告並不複雜。有多個存儲過程(5到8之間),從少量到總計8000個記錄中返回任何地方。報告一般爲2到100頁。人們可以爭論(我有)100頁報告的好處,但客戶正在爲此付賬。SQL Server Reporting Services - 快速TimeDataRetrieval - 長時間處理

無論如何,問題在於即使是返回500條記錄(11頁)的報告也需要5分鐘才能返回到瀏覽器。在執行日誌中,TimeDataRetrieval是60秒,但TimeProcessing是235秒。對我而言,我的查詢運行速度如此之快似乎很奇怪,但需要很長時間才能處理數據。

任何建議,非常感謝。

親切的問候,

伯尼

回答

2

忘了發佈更新到這一點。我發現了這個問題。問題與報告中帶有外部來源的圖像相關聯。最近報表服務器被禁止訪問互聯網。因此,當報告服務正在處理報告時,它正在嘗試執行HTTP GET,以檢索圖像。由於服務器不允許出站互聯網訪問,請求最終會因301錯誤而超時。不幸的是,這個超時時間非常長,我懷疑報告的每一頁都發生了這種情況,因爲報告越長,處理時間越長。無論如何,我無法在服務器上重新打開出站Internet訪問,所以我採取了不同的路徑。由於託管映像的Web服務器和報告服務器位於同一本地網絡中,因此我能夠使用映像主機域和本地IP地址修改報告服務器上的HOST文件。例如:

www.someplacewheremyimageis.com/images/myimage.gif

報表服務器將嘗試通過其本地DNS來解析這一點,毫無疑問獲得外部IP地址XXXX

所以我修改HOST通過添加以下行

192.168.XX www.someplacewheremyimageis.com

所以,現在的報表服務器上的文件時,報告服務,嘗試生成它解決上述內部報告IP地址並在報告中包含圖像。

報告現在運行得比以往更快捷。

這些類型的問題,你在凌晨4:30凌晨4:30在你的鍵盤擊敗你的腦袋後發現,這使得成爲一名軟件開發人員變得美妙而可怕。

希望這可以幫助別人。

感謝,

伯尼