Solved

Batch Report Processing

Posted on 2008-06-12
6
385 Views
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.
0
Comment
Question by:GhengisX
  • 3
  • 3
6 Comments
 
LVL 13

Expert Comment

by:rickchild
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?
0
 

Author Comment

by:GhengisX
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.
0
 
LVL 13

Expert Comment

by:rickchild
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.
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 

Author Comment

by:GhengisX
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.  
0
 
LVL 13

Accepted Solution

by:
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.
0
 

Author Comment

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

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

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

Suggested Solutions

Today, still in the boom of Apple, PC's and products, nearly 50% of the computer users use Windows as graphical operating systems. If you are among those users who love windows, but are grappling to keep the system's hard drive optimized, then you s…
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

777 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