MSSQL Server Reporting Services: Black Belt Administration: "Governor" Capabilities: Report Execution Timeout
March 21, 2005
About the Series ...
This article is a member of the series MSSQL Server Reporting Services. The series is designed to introduce MSSQL Server Reporting Services ("Reporting Services"), with the objective of presenting an overview of its features, together with many tips and techniques for real-world use. For more information on the series, as well as the hardware / software requirements to prepare for the exercises we will undertake, please see my initial Database Journal article, A New Paradigm for Enterprise Reporting.
Basic assumptions underlying the series are that you have correctly installed Reporting Services, including Service Pack 1, along with the applications upon which it relies, and that you have access and the other rights / privileges required to complete the steps we undertake in my articles. For details on the specifics of the adjustments necessary to quickly allow full freedom to complete the exercises in this and subsequent articles, as well as important assumptions regarding rights and privileges in general, please see earlier articles in the series, as well as the Reporting Services Books Online.
This article also relies upon sample files that may not have been automatically installed, configured, and / or deployed within your Reporting Services installation. If the samples have not been installed in, or were removed from, your environment, the samples can be found on the Reporting Services installation CD. We will discuss accessing these files within the steps of our practice session.
About the BlackBelt Articles ...
As we have stated in earlier BlackBelt articles, one of the greatest challenges in writing tutorial / procedural articles is creating each article to be a freestanding document that is complete unto itself. This is important, because it means that readers can complete the lesson without reference to previous articles or access to objects created elsewhere. When our objective is the coverage of a specific technique surrounding one or more components of a report, a given administrative function surrounding all reports, and other scenarios where the focus of the session is not the creation of reports, per se, achieving our goals can be challenging because a report or reports often has to be in place before we can begin to cover the material with which the article concerns itself.
The BlackBelt articles represent an attempt to minimize the setup required in simply getting to a point within an article where we can actually perform hands-on practice with the component(s) under consideration. We will attempt to use existing report samples or other "prefabricated" objects that either come along as part of the installation of the applications involved, or that are readily accessible to virtually any organization that has installed the application. While we will often have to make modifications to the sample(s) involved (we will typically create a copy, to allow the original sample to remain intact), to refine it to provide the backdrop we need to proceed with the object or procedure upon which we wish to concentrate, we will still save a great deal of time and distraction in getting to our objective. In some cases, we will have to start from scratch with preparation, but my intention with the BlackBelt articles will be to avoid this, if at all possible.
For more information about the BlackBelt articles, see the section entitled "About the BlackBelt Articles" in BlackBelt Components: Manage Nulls in OLAP Reports.
In working with many reporting tools over my career, particularly within enterprise business intelligence suites and high-end production reporting systems, I have become acquainted with various control features in each that allow administrators to govern the actions of end users. Reporting Services is no different in this aspect of need for control, and the application provides numerous avenues for restraining our users from kicking off resource crippling queries that, unchecked, could disrupt even the most robust systems, as well as to prevent other harmful activities. At various junctures within this series, we will examine ways to effect such controls on an intermittent basis.
A typical example of such control might be the need to limit report processing time. In Reporting Services, we are provided a means of accomplishing this with the Report Execution Timeout setting. In addition to the setting itself, which is straightforward enough, we need to consider another, more global setting as well, so as to ensure that the two interact properly to produce the results we desire. Our focus in this article will be an examination of these settings and how they work together to afford us a means of providing an important control over resource utilization within Reporting Services.
In this session, we will: