遇到一個有意思的Reporting Services報表的案例,在2015-01-30號的凌晨20分左右的時候,有人發現Reporting Services的速度非常慢,而且最后有拋出異常,當時不知道什么情況。只是記錄了其中一張報表的名字,以及出錯信息截圖。如下所示:
第二天,我首先通過下面SQL查看這張報表在2015-01-30 00:00到2015-01-30 02:00這段時間的執行記錄,如下所示,正常情況下,3~5秒報表出來,不正常情況下整個報表耗費了接近60多秒,很奇怪的是TimeDataRetrieval的時間居然為0,大家都知道TimeDataRetrieval、TimePRocessing、TimeRendering分別表示檢索數據、處理報表以及呈現報表所用的毫秒數(SQL里面,我將單位轉化為秒)。但是TimeStart, TimeEnd的時間差(報表進程的持續時段的開始時間和結束時間)居然耗費了60多秒,讓我很是納悶,不太明白,照理來說,TimeDataRetrieval、TimeProcessing、TimeRendering三者的和應該接近于TimeEnd減去TimeStart的差,但是這里的情況明顯不對頭,那么究竟發生了什么事情呢,這張報表不是發生了異常嗎,于是我找到了日志文件C:/Program Files/Microsoft SQL Server/MSSQL.3/Reporting Services/LogFiles/ReportServer__01_30_2015_00_00_46.log
USE [ReportServer];
GO
SELECT C.Name AS ReportName
,E.ReportID AS ReportID
,E.UserName AS UserName
,E.Format AS Format
,E.Parameters asparameters
,E.TimeStart AS TimeStart
,E.TimeEnd AS TimeEnd
,E.TimeDataRetrieval*1.0/1000 AS TimeDataRetrieval
,E.TimeProcessing*1.0/1000 AS TimeProcessing
,E.TimeRendering*1.0/1000 AS TimeRendering
,DATEDIFF(SECOND, TimeStart, TimeEnd)
AS CostTime
新聞熱點
疑難解答