Skip to article

PROLOGIKA INSIGHTS

Time to migrate

Back to all articles


Recently I had to migrate a Report Server installation from one server to another by keeping the Report Server catalog intact. If you find yourself in the same situation, here are the steps (hope I recall them right ):



  • If you haven’t done this already, back up the encryption key of the old RS installation. RS uses encryption keys to encrypt vital information, such as credentials, connection strings, etc. in the RS catalog. You won’t be able to point the new installation to use the old catalog if you don’t migrate the encryption keys. To extract (backup) your encryption keys, issue the following command:

rskeymgmt -e -fa:\keys.txt -p<password>, where


password is any password you want to use to secure the encryption keys. You will need it later to restore the encryption keys on the new installation. For more info about the encryption keys, read Bryan Keller’s posting (http://blogs.msdn.com/bryanke/archive/2004/03/18/92102.aspx).



  • If you need to move the RS catalog to another machine, back up the ReportServer and ReportServerTempDB databases and restore them on the new SQL Server  instance.
  • Install RS on the new server. In the RS setup, specify different database names that the default ones, e.g. ReportServer1 and ReportServerTempDB1. We will later drop these databases since we will re-configure RS to point to the old RS catalog.
  • Verify that RS is installed properly by browsing to the Report Manager portal.
  • Make sure that the new installation is the exact same version as the ole one. For example, if the old RS installation has SP1 applied, apply SP1 to the new installation as well. Otherwise, you will get an error that the RS catalog version is different.
  • Use the rsconfig utility to re-configure RS to use the old catalog, e.g.:

resconfig.exe –c –s -d -a -u -p



  • At this point if you try to instantiate RS you will get rsNotActivatedError. Why? Because, RS is trying to decrypt the catalog data with the new encryption key which doesn’t match the old. Therefore, the last step is to migrate the encryption keys.
  • Use the rskeymgmt utility to apply the old encryption keys, as follows:
    rskeymgmt -a –f -p

 


That’s it.. and don’t forget to store the encryption keys file in a save place.






 

JOIN THE CONVERSATION

Discussion

  1. If your version of various sw does not support web farms you will also have to do the following after the rsconfig step. (btw type o it is rsconfig not resconfig.)
    to:
    – Remove the key in the new server: rskeymgmt -r[InstallationID]
    (InstallationId is in the RSReportServer.Config file).

    – Swap the installation id in the actual RSReportServer.Config file with
    the old one.

    – Run rskeymgmt -a -f -p

  2. Thanks for this post – it helped me out a lot!

    One point of interest – after applying the backup of the keys, you still might need get an error in the application event log saying “Failed to execute request because the App-Domain could not be created.” I deleted the Temporary ASP.NET files from the server and that solved the problem.

Leave a comment

Your email address will not be published. Required fields are marked *