Is there any way to move all SSRS reports from one server to other, other than downloading each .rdl file and uploading them one by one to the new one?

I followed the steps in this forum post on MSDN, but no use.

  • 2
    @Sunny - So: what exactly were the results of trying the steps from the link? What didn't work? was the new server completely non-functional, or did some things work.
    – RDFozz
    Jan 9, 2018 at 20:08

3 Answers 3


Just migrate the objects with the "ssrs_migration.rss" script.
Much easier than database keys and restores

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p password -v ts="http://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password"

I've used this many times with good results

Script sources ("ssrs_migration.rss")

  • Do, I need to run this script from source server?
    – user138896
    Jan 9, 2018 at 20:58
  • Any server or PC that has an SSRS install so you can have rs.exe, and can access both source and target (you may have firewalls etc). rs.exe may be available separately though, not actually checked
    – gbn
    Jan 9, 2018 at 21:16

I have a blog site with an article on how to perform this task and common errors you might encounter and how to fix it. https://samosql.com/2017/10/25/migration-of-ssrs-to-another-instance/

Summarized Steps:

  • Migrate the Source ReportServer Database (including the ReportServer Tempdb) to the target server. NOTE: There are various ways of achieving this - with Backup and Restore | Detach and Attach. The easiest way however is using backup and restore as it preserves the permission settings.
  • Using the Reporting Config Manager, perform a backup of encryption key and provide a strong password. Note password as it will be require when restoring on target server.
  • Restore encryption key using the strong password created on the target reporting services using reporting config manager.
  • Using the Reporting Config manager, configure the report server database connection.
  • Restart the SQL Server and Report Server Services.

Possible Issues:

  • RSExec role do not exist in the master and msdb on the target server. FIX: Create the RSExec role in the respective databases

  • The feature "Scale-out deployment" is showing old server. Use Reporting Configuration manager to delete the old server name.

Few Checks: Any schedules or subscriptions on the old server should migrate and be automatically created on the target server (Agent jobs) Visit Report Portal and confirm that reports and permissions migrated properly

Feel free to comment on the article with questions or concerns.


  • No errors during migration
    – user138896
    Jan 9, 2018 at 20:22
  • I need some pertinent information to be able to provide a resolution. Can you run a select on table - [reportserver].[dbo].[keys] ? Do you see a record for the old server metadata?
    – samosql
    Jan 9, 2018 at 20:31

MS has a detailed instruction here



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.