You can run Reporting Services in a scale-out deployment model by configuring multiple report servers to use a shared report server database. Membership in a scale-out deployment is based on whether the report server stores an encryption key in the report server database. You can control scale-out deployment membership by adding and removing encryption keys for specific report server instances. If you are removing nodes from the deployment, you can remove them in any order. If you are adding nodes to a deployment, you must join any new instances from a report server that is already part of the deployment.
Using the Reporting Services Configuration Tool to Configure Scale-Out Deployment
The easiest way to configure a scale-out deployment is to use the Reporting Services Configuration tool. For more information and step-by-step instructions, see Configure a Native Mode Report Server Scale-Out Deployment (SSRS Configuration Manager).
Using Rskeymgmt to Configure Scale-Out Deployment
Use the rskeymgmt utility to initialize a report server instance to use a shared report server database. Adding a report server to a scale-out deployment requires that you initialize the report server. Initialization requires administrator permissions. You must have administrator credentials for the remote computer that hosts the report server you are joining to the deployment.
How to join a report server to a scale-out deployment (rskeymgmt)
Run rskeymgmt.exe locally on the computer that hosts a report server that is already a member of the report server scale-out deployment.
Use the -j argument to join a report server to the report server database. Use the -m and -n arguments to specify the remote report server instance you want to add to the deployment. Use the -u and -v arguments to specify an administrator account on the remote computer. If you are creating a scale-out deployment using multiple report server instances on the same computer, the syntax to use is slightly different. For more information about the syntax you should use, see rskeymgmt Utility (SSRS).
The following example illustrates the arguments you must specify if you are joining a remote report server to a scale-out deployment (you can omit credentials if you have administrator permissions on the remote computer):
rskeymgmt -j -m <remotecomputer> -n <namedreportserverinstance> -u <administratoraccount> -v <administratorpassword>
- Restart the Reporting Services Windows Service.
How to remove a report server from a scale-out deployment (rskeymgmt)
Open the rsreportserver.config file of the report server you want to remove and find the installation ID. By default, this file is located at Program Files\Microsoft SQL Server\MSSQL.n\Reporting Services\ReportServer).
If you installed a single instance, there will only be one rsreportserver.config file on the computer. If multiple instances of Reporting Services are installed, use the Server Status page in the Reporting Services Configuration tool to find the instance identifier (for example, MSSQL.2) for the report server that you want to remove. The name of the folder that stores the program files for the report server instance will be based on the instance identifier (for example, Program Files\Microsoft SQL Server\MSSQL.2).
Run rskeymgmt.exe. You can run it on any report server that is part of the report server scale-out deployment.
Use the -r argument to release the report server instance from the scale-out deployment. The following example illustrates the arguments you must specify:
rskeymgmt -r <installation ID>
Restart the Reporting Services Windows Service.
These steps remove the report server from a scale-out deployment, but they do not uninstall the Reporting Services instance on the report server. After you remove the report server from the scale-out deployment, you can uninstall Reporting Services from the server if you no longer need Reporting Services on that server. For information, see Uninstall an Existing Instance of SQL Server (Setup) in SQL Server Books Online.