Looking under the hood of SSRS
Posted
by Jim Giercyk
on Geeks with Blogs
See other posts from Geeks with Blogs
or by Jim Giercyk
Published on Mon, 02 Apr 2012 13:27:50 GMT
Indexed on
2012/04/02
23:31 UTC
Read the original article
Hit count: 406
SSRS is a powerful tool, but there is very little available to measure it’s performance or view the SSRS execution log or catalog in detail. Here are a few simple queries that will give you insight to the system that you never had before.
ACTIVE REPORTS: Have you ever seen your SQL Server performance take a nose dive due to a long-running report? If the SPID is executing under a generic Report ID, or it is a scheduled job, you may have no way to tell which report is killing your server. Running this query will show you which reports are executing at a given time, and WHO is executing them.
USE ReportServerNative SELECT runningjobs.computername, | ||
USE ReportServerNative SELECT DISTINCT catalog.PATH, | ||
USE ReportServerNative SELECT catalog.name AS report, |
LONG RUNNING REPORTS: This query will show the longest running reports over a given time period. Note that the “>5” in the WHERE clause sets the report threshold at 5 minutes, so anything that ran less than 5 minutes will not appear in the result set. Adjust the threshold and start/end times to your liking. With this information in hand, you can better optimize your system by tweaking the longest running reports first.
USE ReportServerNative SELECT executionlogstorage.instancename, |
I have used these queries to build SSRS reports that I can refer to quickly, and export to Excel if I need to report or quantify my findings. I encourage you to look at the data in the ReportServerNative database on your report server to understand the queries and create some of your own. For instance, you may want a query to determine which reports are using which shared data sources.
Work smarter, not harder!
© Geeks with Blogs or respective owner