If you’re like me, you’ve found yourself in need of a quick and easy way to migrate between SQL Server Reporting Services (SSRS) servers. You want it configured identically and don’t want to do it manually. Luckily nunespascal started a great utility called reportsync for doing exactly this. Unfortunately I ran into many problems with this utility when migrating my environment. Since this project hasn’t been updated since 2012, I decided to fork this project on GitHub.
This new project is by no means a complete migration solution, however it does significantly improve upon the reliability of the original ReportSync project. I have implemented the features I required for my migrations, in the future I may implement the remaining objects. This utility was written for SSRS 2005/2008 and may work on later versions, however I have not verified them.
To begin, install, configure, and login to your new SSRS instance. You’ll want to add your shared data sources with the same path. I chose not to automate these items with my first effort. My system had five shared data sources at its root which required updated credentials.

Next, download the source code from GitHub, build and run this application or download the current build, verify the zip has the correct CRC before. Enter the URL and credentials for both the source and destination servers. Click ‘Load’ on each server respectively to verify your inputs and to view a tree of your existing reports.
If you’d like to download the report definitions, enter or select a ‘Local Path’ at the bottom and click ‘Download’. The selected reports will be downloaded to your local disk in a mirrored folder structure. This functionality is limited to the report definitions at this point. This is a nice way to migrate these into a repository for change tracking.
The ‘Upload’ button is currently useless. Since the application only downloads report definitions, I didn’t implement this functionality.
Click ‘Sync Schedules’ to create or update the server’s shared schedules (Site Settings –> Schedules). Shared schedules are a nice way to provide consistency and cleanup your SQL Server Jobs.
Click ‘Sync’ to create or update selected report definitions from the source server to the destination server. Reports will be added in the same folder structure with the same names. Existing data sources, resources, linked reports, and schedules will be mapped.