首页 > 开发 > 综合 > 正文

Reporting Services 错误案例一则

2024-07-21 02:47:46
字体:
来源:转载
供稿:网友
Reporting Services 错误案例一则 2015-02-03 00:25 by 潇湘隐者, ... 阅读, ... 评论, 收藏, 编辑

遇到一个有意思的Reporting Services报表的案例,在2015-01-30号的凌晨20分左右的时候,有人发现Reporting Services的速度非常慢,而且最后有抛出异常,当时不知道什么情况。只是记录了其中一张报表的名字,以及出错信息截图。如下所示:

clipboard

第二天,我首先通过下面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

clipboard[1]

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
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表