SQL Reporting Services Architecture
SQL Reporting Services Architecture
SQL Reporting Services Architecture
The following diagram indicates tools that are included with Reporting Services and SQL Server, and
how custom tools that may be provided by third-party vendors fit into the overall framework. It also
shows the flow of requests and data among the server components, and which components send and
retrieve content from a data store.
Architecture Diagram
Report Manager
Report Manager is a Web-based report access and management tool that is included with Microsoft® SQL Server™ Reporting
• Create and manage folders, linked reports, report history, schedules, data source connections, and subscriptions
• Manage role definitions and assignments that control user access to reports and folders
Report Manager provides a user interface to a report server. The user interface consists of Web pages and controls. There are
pages for viewing items, setting properties, and creating and modifying subscriptions, schedules, shared data sources, and
roles. You can access items that are stored in a report server by navigating the folder hierarchy and clicking on items that you
Page 1 of 6
SQL Reporting Services Architecture
The ability to perform a task in Report Manager depends on user role assignment. A user who is assigned to a role that has
full permissions, such as a report server administrator, has access to the complete set of application menus and pages. A user
assigned to a role that has permissions to view and run reports, on the other hand, sees only the menus and pages that
Users can be assigned to multiple roles. Each user can have different role assignments for different report servers, or even for
the various reports and folders that are stored on a single server. Understanding how the role or roles to which you belong
affect your interactions with tools, reports, and report servers can help you anticipate the scope of operations that are
available to you at any given time. For more information about roles, see Understanding Role-based Security.
To run Report Manager, type its URL in the address bar of a Web browser. By default, the URL is
http://<webservername>/reports.
If Reporting Services is installed on your local computer, you can also select Report Manager from the Start menu, from the
Report Manager is installed during setup on the same computer as the report server. You can check the configuration files for
Although you can export reports to the formats of other desktop applications, the default rendering format for reports is HTML
3.2 or HTML 4.0; the browser type and version determine which format is used. Users can view reports with any browser that
supports HTML 3.2 or HTML 4.0; however, functionality may vary depending on the browser and whether scripting is enabled.
The following table lists the browsers to use for certain kinds of functionality.
Page 2 of 6
SQL Reporting Services Architecture
Netscape 7.1
Reports with non-scripted features, Non-scripted features consist of Microsoft Internet Explorer 5.01 with
rendered in HTML 3.2 drill-through and drill-down to SP2.
additional pages on a rendered
report.
Netscape 4.78.
Report Designer
Report Designer is a tool that you can use to publish reports to a report server. Report Designer is integrated with Microsoft
Visual Studio® .NET 2003. You install Report Designer features into Visual Studio .NET using a setup program. After
To create a report using Report Designer, you create a new project in Visual Studio and add a report or set of reports to it. You
can create tabular, matrix, or freeform reports. Tabular reports and matrix reports, also known as crosstab or pivot table
reports, are easily created using Report Wizard. Freeform reports, which can include tables, matrices, and any number of
other elements, are created using the familiar Visual Studio .NET interface.
While developing a report, you have the option of testing it locally, without publishing it to a report server. Report Designer
can use the same processing and rendering extensions that the server uses, ensuring that users see the report as it was
You publish, or deploy, a report using the Visual Studio build process. Report Designer deploys the report to a report server
that you select, after which you can manage properties and security using administration tools such as Report Manager.
Most features of Report Definition Language (RDL) are available in Report Designer.
Use this tool to modify the connection between a report server and report server database. The report server uses
encrypted connection information to access a database. Because the data is encrypted, you must use this tool to modify
connection information. For more information about syntax, see rsconfig Utility. To learn more about connection
Page 3 of 6
SQL Reporting Services Architecture
• The rs utility is a script host that you can use to perform scripted operations.
Use this tool to run Visual Basic .NET scripts that copy data between report server databases, publish reports, create
items in a report server database, and more. For more information about syntax, see rs Utility. To learn more about using
• The rskeymgmt utility is an encryption key management tool that you can use to back up symmetric keys or delete
Use this tool to store encryption keys in case you need to recover a database. If the keys cannot be recovered, this tool
provides a way to delete encrypted content that you no longer use. For more information about syntax, see rskeymgmt
Utility. To learn more about key management and storage of sensitive data, see Storing Encrypted Data in a Report
• The rsactivate utility is a server activation tool that you can use to activate a report server instance on a Web farm.
Use this tool to activate service when you add a new report server to a Web farm or replace a failed one. Activating a
service creates a symmetric key that the new service uses to encrypt and decrypt data in a report server database.
Report Server
The report server is the main component of Reporting Services. It is a Web service that exposes a set of programmatic
interfaces, which client applications can use to access the report server. Through its subcomponents, the report server handles
report requests; retrieves report properties, formatting information, and data; merges the formatting information with the
The report server component contains several subcomponents, which are discussed in this section. The following table
Topic Description
Programmatic Interfaces Describes the programmatic interfaces, which accept
SOAP and HTTP GET requests, retrieve information
from the report server database, and pass the
information to other components.
Report Processor Describes the Report Processor component, which
retrieves the report definition, combines it with data
from the data processing extension, and renders it to
the requested format with a rendering extension.
Data Processing Extensions Describes the data processing extensions that retrieve
data from the report data source.
Rendering Extensions Describes the report rendering extensions that
transform the report layout and data into a device-
specific format.
Report Server Database Describes the report server database, which stores
report definitions, meta data and report history.
Scheduling and Delivery Processor Describes the Scheduling and Delivery Processor
component, which runs and delivers report on a
Page 4 of 6
SQL Reporting Services Architecture
schedule.
Delivery Extensions Describes the delivery extensions that deliver reports
to specific devices or formats.
meta data, cached reports, snapshots, and resources. It also stores security settings, encrypted data, scheduling and delivery
The report server database can exist on a server or cluster that is separate from the report server, or it can be installed on the
same computer as the report server. For more information about installing and configuring the report server database, see
The report server database is accessed through the report server. Report Manager, Report Designer, and the command line
utilities all use programmatic interfaces to communicate with the report server database.
providers. Reporting Services provides extensions to retrieve data from the following data sources:
• Oracle
Because Reporting Services is extensible, developers can create extensions that retrieve data from additional data sources.
You can build and deploy reports that use data from an Oracle database. Before you deploy the report, you must install Oracle
client tools on the report server that hosts the report. After you install the client tools, you must restart Internet Information
Services (IIS).
included with Reporting Services use the same interfaces available to developers for building third-party applications.
Page 5 of 6
SQL Reporting Services Architecture
• Create applications to manage a report server by using a Simple Access Object Protocol (SOAP) interface.
• Create applications or use Web browsers to manipulate report output through URLs.
• Create applications to configure a report server through Windows Management Instrumentation (WMI) classes.
• Create additional rendering, delivery, security, and data processing extensions by using the Microsoft .NET Framework.
• Create Report Definition Language (RDL) files that can include custom elements.
Page 6 of 6