Planning a Reporting Services Deployment
SQL Server 2005 Reporting Services offers two deployment models:
- A standard deployment consists of a single report server instance that uses a local or remote SQL Server Database Engine to host the report server database. You can use SQL Server 2000 or SQL Server 2005 to host the report server database.
- A scale-out deployment consists of multiple report servers that share a single report server database. The database can be installed on a remote SQL Server instance or locally with one of the report servers. The SQL Server instance that hosts the report server database can be part of a failover cluster.
Scale-out deployment is supported in the following editions: Enterprise Edition, Developer Edition, and Evaluation Edition.
To simplify the deployment process, you can use checklists that describe the sequence of tasks that must be performed in order to complete a standard deployment. For more information, see Server Deployment Checklist. To learn more about scale-out deployment, see Configuring a Report Server Scale-Out Deployment. For more information about SQL Server 2005 licensing, see the SQL Server 2005 Licensing section on the How to Buy page of the SQL Server Microsoft Web site.
The following diagram shows the standard deployment model where the report server database is located on a remote server. You can also install it locally so that all server components are on the same computer.
Primary considerations in choosing where to host the report server database are:
- Processing resources
- Disk space availability
Both the report server and the Database Engine compete for processing resources such as CPU time, memory, and disk access. Some report server operations are resource intensive. For example, a report server attempts to use all available memory for report rendering operations. Running the report server on a separate computer can reduce competition for processing resources.
Report server requirements for disk space provide a second reason for using a remote SQL Server Database Engine to store report server data. Although the footprint of a report server database may be small initially, disk space requirements can grow significantly at run time depending on how you run reports and the number of users accessing the report server. For more information, see Report Server Database Requirements.
You can deploy Reporting Services in a scale-out deployment to create a highly available and scalable report server installation. Configuring a scale-out deployment is also useful if you want to improve the performance of scheduled operations and subscription delivery. A report server scale-out deployment consists of multiple report servers that share a single report server database. Each report server in the deployment is referred to as a node. Nodes participate in the scale-out if the report server is configured to use the same report server database as another report server.
Report server nodes can be load balanced to support high volume reporting. You can also create the report server database on a failover cluster to support high availability requirements.
Unsupported cluster configurations include deploying a complete report server installation (that is, a report server and its database) on each node of a multi-node cluster. Specifically, you cannot deploy Reporting Services on a two-node cluster that consists of an active node and a passive node that is used when the active node fails.
Deploying on a Network Load Balanced (NLB) Cluster
You can run report server nodes on an NLB cluster. You can use a software or hardware solution to implement the NLB cluster. To run the report servers on an NLB cluster, you must use software and tools that support that functionality. Reporting Services does not provide server cluster or virtual server management, nor does it provide a way for you to define a virtual server name that provides a single point of entry to all of the nodes in a report server scale-out.
NLB is only necessary if you want to improve report server performance for on-demand reporting and interactive reports (such as drillthrough and matrix reports). Scheduled reports and subscription processing are faster on a scale-out deployment, but do not necessarily require an NLB cluster to get faster performance.
Deploying on a SQL Server Failover Cluster
SQL Server 2005 provides failover clustering support so that you can use multiple disks for one or more SQL Server instances. Failover clustering is supported only for the report server database; you cannot run the Report Server Windows service or Web service as part of a failover cluster.
To host a report server database on a SQL Server failover cluster, the cluster must already be installed and configured. You can then select the failover cluster as the server name when you create the report server database.
Although the Report Server Windows service and Web service cannot participate in a failover cluster, you can install Reporting Services on a computer that has a SQL Server failover cluster installed. The report server runs independently of the failover cluster. If you install a report server on a computer that is part of a SQL Server failover instance, you are not required to use the failover cluster for the report server database; you can use a different SQL Server instance to host the database.
Scale-out Deployment Diagram
The following diagram shows multiple report servers and report server databases deployed in separate server clusters.
Creating a Report Server Database
Configuring a Report Server for Internet Access
International Considerations for Reporting Services
Administering Reporting Services
Scripting Deployment and Administrative Tasks
Help and Information
14 April 2006