Report Deployment Checklist
SQL Server 2005 Reporting Services provides several ways to make reports available for general use.
- You can use Report Manager, the viewing and report management tool included with Reporting Services.
- You can embed URLs to published reports on an existing portal.
- You can use SharePoint Web parts to explore the report server folder hierarchy and run reports.
To get reports published, you can use Report Designer, Report Manager, or script. For more information about publishing and deploying reports through Report Designer, see Debugging and Publishing Reports. For more information about using Report Manager to upload finished reports to a report server, see Uploading Files to a Folder.
Deploying Reports Through Report Manager
The easiest way to make reports available to users is by using Report Manager. Report Manager can be configured to support an end-user mode that provides view-only access to reports. Administration features that are typically available in Report Manager can be hidden from users who do not have local administrator account access. To support this mode, you create role assignments that map specific user or group accounts to the Browser role (or another role that includes view-only tasks).
Deploying Reports on a Portal
Reports that have been published to a report server are accessible through a URL address. You can place URLs to published reports on a Web site that serves as a portal. If you are using a portal server application, the portal software must support access to hyperlinked content.
When the user clicks a link to a report URL, the report is processed on the report server and then returned to the client browser. An HTML viewer provides a report toolbar and supports interactive report features, so you can open a report through a URL address without having to install a client component or configure the portal in any special way.
For best results, you should open the report in a new browser window. You can set parameters in the report URL to select a specific rendering format or hide the report toolbar. For more information, see URL Access.
Report Deployment Overview
The following sections provide general information that is useful for any deployment.
Deploying Oracle Reports
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 the Microsoft Internet Information Services (IIS) service on the report server.
Stage Reports Before Deploying
When deploying reports, it is recommended that you create a separate folder on the report server where report authors can place completed reports for testing and configuration. When the report is ready to be published, the report server administrator can move the report to a deployment folder. Set the permissions on the staging folder to allow report author access, and restrict access to the deployment folder so that only report server administrators have permission to add and remove content. For more information about folders, see Creating, Modifying, and Deleting Folders and Securing Folders. For more information on moving reports on a report server, see How to: Move an Item (Report Manager).
Configure Data Sources
After a report is published to a report server, you can configure its data source with connection information and credentials. If the report supports subscriptions or scheduled report history, or if it runs as a report execution snapshot, you must configure the data source to use stored credentials or no credentials. For more information about data source properties, see Setting Data Source Properties in Reporting Services.
Restrict Access to the Data Source
Because a report server never writes back to an external data source, you do not need to be concerned about data corruption from a report server user. However, a report server does run queries against external data sources that might contain sensitive data. For this reason, unauthorized access to sensitive data is a security risk that you must address. To mitigate this threat, do one of the following to ensure that only authorized users have access to the external data sources used by reports:
- Require user authentication to external data sources. You can configure a report to prompt users for credentials before the data is retrieved for the report. For more information, see Specifying Credential and Connection Information.
- Create least-privilege user accounts for the database server. For example, if you are using a SQL Server database, you can create a logon named data reader that has only the db_datareader role assigned to it. You can then specify credentials for data reader in the Data Source properties page of a report.
Set Query Time-outs
To minimize the possibility of a query consuming too many processing resources on the database server, you can set time-out values. There are two ways to limit query processing. You can set a query timeout value on most database server (for example, SQL Server instances have a query timeout value by default). Or, you can also set a query time-out value for the report that is passed to the SQL Server instance. For more information, see Setting Time-out Values for Report Execution.
Configure Report Execution Properties
Reports are configured by default to run on demand. This means that the queries that are defined for the report are executed against the data source each time a user selects a report. If you do not want a report to run on demand, you can set report execution properties to control when and how the report is run. For more information, see Managing Report Processing.
Configure Report History Properties
To store a history of a report, save snapshots of the report. You can schedule when a snapshot is added to report history, or you can add a snapshot manually. For more information, see Managing Report History.
As part of report deployment, you can create subscriptions that distribute reports to a file share or to users through e-mail notifications. You can also configure role assignments to allow other users to create individual subscriptions. For more information about report distribution strategies, see Delivering Reports Through Subscriptions and Creating, Modifying, and Deleting Subscriptions.