Getting SQL Report Server usage

Posted by beakersoft | Posted in SQL Server | Posted on 03-12-2006


A couple of days ago some of our users were complaining about the speed at witch the reports were running.

I suspected that they were running some huge reports to get some year end data, but of course they denide that. I had seen a couple of tables that reporting services uses, and started poking about in those.

After a bit i managed to come up with the following sql that gave me a list of what reports had been run, who ran them, what parameters they used and how long they took to run:

SELECT TOP (100) PERCENT dbo.Catalog.Name, dbo.ExecutionLog.UserName, DATEDIFF(mi, dbo.ExecutionLog.TimeStart, dbo.ExecutionLog.TimeEnd)
AS Proc_time, dbo.ExecutionLog.Parameters, dbo.ExecutionLog.TimeStart
dbo.Catalog ON dbo.ExecutionLog.ReportID = dbo.Catalog.ItemID
WHERE (dbo.ExecutionLog.TimeStart > CONVERT(DATETIME, ‘2006-12-01 00:00:01′, 102))
ORDER BY Proc_time

Please note that this works in SQL 2005 reporting services, i’m not sure if it will in previous versions. To run for different dates, just change TimeStart’s parameter

Write a comment

Comments links could be nofollow free.