Migrating TFS Report Server
Follow this article if you are planning to migrate the Report Server being used with your TFS deployment to a new hardware. The migration requires the report server databases, reportserver and reportservertempdb which are in use with the current deployment of TFS reporting, to be moved across to the new SQL instance.
These two databases are related by their names (tempdb will be appended to the name specified for the report server database during the configuration of Reporting Services, for the second database). The databases are referred as reportserver and reportservertempdb in the rest of the article, for convenience. Please read them as the actual Report Server databases for your deployment.
Points to be kept in mind
- Migrating the existing report server to a new instance does not require a TFS outage.
- However, users should be notified as the reports will be unavailable during the migration window.
- Administrators should be informed not to create team projects during this window as the option to configure reporting for new team projects will be disabled.
- The version and edition of source and target SQL server instances should match exactly.
You should be a member of the following groups to perform the migration:
- Administrators security group on Windows Servers
- Team Foundation Administrators and Admin Console Users in TFS
- sysadmin on the SQL server
Prepare to migrate
- Navigate to Team Project Collections node on the TFS Admin Console. Make a note of the Default Folder Location for reports from the Reports Folder tab.
- Open TFS Admin console and navigate to Reporting tab. Click on Edit. Make a note of the settings in all the three tabs and then uncheck the Use Reporting check box.
- Backup the encryption keys from the existing report server database. You can use the Reporting services configuration tools to backup the keys.
- Backup the reportserver and reportservertempdb databases from SQL management studio.
- If Reporting Services is already configured in the destination SQL instance, check for already existing reportserver databases. If these databases are not being used in any other application, delete them. Else install a new instance of Reporting Services on the server to be used with TFS.
- If it is a new installation of reporting services on the destination SQL instance, do not run the Reporting Services Configuration Manager until we restore the report databases.
- Restore the reportserver and reportservertempdb databases from SQL management studio to the new SQL instance.
Configuring the new Report Server Database Connection
- Open Reporting Services Configuration Manager
- If it is a fresh installation of Reporting Services, you can accept the default or modify the settings in other tabs except the Database tab.
For more details on configuring a Report Server, refer http://msdn.microsoft.com/en-us/library/cc281385.aspx
- On the Database page, click Change Database. Click Next.
- Click Choose an existing report server database. Click Next.
- Select the SQL Server that now hosts the report server database and click Test Connection. Click Next.
- In Database Name, select the restored report server database and click Next.
- In Credentials, specify the credentials that the report server will use to connect to the report server database. Click Next.
- Click Next and then Finish.
- Navigate to the Encryption Keys tab and restore the key from the backup location.
Configuring TFS with the new Report Server
- Open TFS Admin console and navigate to the reporting tab. Click on edit and check the Use Reporting check box.
- Enter the details of the Warehouse and Analysis databases and the URLs for the new report server.
- Enter the Username and Password for the Report Reader account.
- Check the Default Folder Location for reports from the Team Project Collections tab in the admin console and verify that they are the same as that before migration.
- Click on Start Jobs.
- Reports are now migrated to the new report server. Validate the migration by browsing some of the reports.
Content created by – Sreeraj Rajendran
Content reviewed by – Romit Gulati