报表服务器中有强大的日志的功能,日志中记录了查询过的报表的一些信息(包含记录数、运行时间、报表的参数等),通过开始日期和结束日期的运算,可以知道哪个报表最慢,查询如下:
SELECT top 100 max(DATEDIFF(second,TimeStart,Timeend)) ,q.c_NAME
FROM ReportServer..Catalog c,ReportServer..ExecutionLog e,shq_srv.enjoy_shq.dbo.tbc_rpt_format q
WHERE TimeStart>'2013-5-17' and itemid=e.reportid AND q.c_guid=name
group by q.c_NAME order by max(DATEDIFF(second,TimeStart,Timeend)) desc
取到最慢报表的top100