Batch Report Processing

Posted on 2008-06-12
Last Modified: 2012-05-05
Is there a way to mange report load using Sql Server Reporting Services?  So of my reports take a while to run.  It would be nice to be able to batch them.    I don't think caching is much of a help since the users change data and then run a report and see results.
Question by:GhengisX
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 13

Expert Comment

ID: 21776918
Are the reports running slowly at the data extraction stage (So would your data query or stored procedure it is based on be running slowly too), or at the rendering stage?

Author Comment

ID: 21778938
the data queries are expensive and slow.  the rendering is not an issue.  If multiple users run the report at once it can really bring the server to its knees.

we are tuning the sql and database but it will not be enough.
LVL 13

Expert Comment

ID: 21779593
I see, so you are looking to First-In-First-Out queue the queries really, so they are not running concurrently and killing the database server.

Before we get into this you could consider the caching again, how often are the users updating the data and then needing to look at the reports?  Do the users need the data immediately available after the change?

You may find this is only a few times a day and they don't need it immediately, then you can use the caching to cache a snapshot say every hour or so.  "Render this report from a report execution snapshot "  You could then stagger your snapshots over the hour.
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.


Author Comment

ID: 21779647
they update data then run a report to see results.  then they update data again and tune.  there is a lot of data so we dont monitor if things have changed between one report run and another, otherwise we could cache.  
LVL 13

Accepted Solution

rickchild earned 500 total points
ID: 21779879
OK, if you are saying you want to run only one report at a time then you need a Stored Procedure to act as a runner.  The runner will contain say a big CASE of all your possible queries/stored procedures, which are specified by a parameter into the Runner.

One basic queue would be that your Runner will add the current request to a queue table, if there is nothing else in the queue it can run immediately, if there are items ahead in the queue it must wait for an interval before checking again (Say 10 seconds).

It will loop and wait until the request reaches the front, at which point the runner can then execute that statement to return the result for the report.  It must also remove itself from the queue table after the statement.

Author Comment

ID: 21796900
any experience with service broker out there, it seems to be a big part of what I am looking for?

Featured Post

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Problem with SqlConnection 4 192
How to use TOP 1 in a T-SQL sub-query? 14 52
tempdb log keep growing 7 54
Need to find substring in SQL 5 52
Problem Statement In an SAP BI BO Integration project when a BO universe is built on a BEx query, there can be an issue of unit & formatted value objects not getting generated in a BO universe for some key figures. This results in an issue whereb…
How to increase the row limit in Jasper Server.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question