How to Easily Migrate SSRS Reports Between Two Servers
Situation: you have an existing installation of MS SQL Server with Reporting Services and now would like to transfer all the content from it to another instance of MS SQL Server Reporting Services. Of course, you could simply delegate this task to a third-party and enjoy fast and accurate migration of SSRS reports to another instance on the same or another server.
But still there’s a way to perform migration of your reports manually. All you need is the rs.exe tool from the standard package, a migration script ssrs_migration.rss that can be downloaded here and a bit of your time and patience.
Migrating Reporting Services Reports using rs.exe
Basically, we need to tell the tool where the old data is and where to transfer this information. We should also set specific user accounts to log on to the source and the target servers. Then, the migration script does the rest.
Let’s suppose we have two instances of the SQL Server Reporting Services: 2008 and 2012. To move reports from 2008 to 2012 we need to configure rs.exe and supply parameters to the migration script.
Rs.exe syntax is as follows:
rs {-?}
{-i input_file=}
{-s serverURL}
{-u username}
{-p password}
{-e endpoint}
{-l time_out}
{-b batchmode}
{-v globalvars=}
{-t trace}
Though, we don’t need all of them. We will use the –i parameter to pass the migration script file ssrs_migration.rss to rs.exe. The –s, –u and –p are obviously required too. This would define where we want to take the reports from. Then, we need to use the –v parameter and let the script know where to put these reports.
So, the parameters we need to pass to rs.exe are the following:
• –i ssrs_migration.rss
• –s http://MyServerName/ReportServer2008
• –u MyDomain\Reports• –p mypassword
• –v ts="http://MyServerName/ReportServer2012"
• –v tu="MyDomain\reports_2012"
• –v tp="mypassword"
So the final command line will look as follows:
rs.exe –i ssrs_migration.rss -e Mgmt2005 -s http://MyServerName/ReportServer2008 -u MyDomain\Reports -p mypassword -v ts="http://MyServerName/ReportServer2012" -v tu="MyDomain\reports_2012" -v tp="mypassword" rs.exe is located at “\Program Files\Microsoft SQL Server\110\Tools\Binn”.
Enough of the theory. Let’s do this.
Step 1: Download the script
As we mentioned above, the ssrs_migration.rss script can be downloaded from https://azuresql.codeplex.com/releases/view/115207. Put the downloaded file to a local folder, for instance, C:\Downloads\ssrs_migration.rss
Step 2: Open a command prompt
We need a command prompt with administrative privileges to execute the script. To start a command prompt as administrator, click Start, click All Programs, and then click Accessories. Right-click Command prompt, and then click Run as administrator. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
Under Windows 8 the process is slightly different. Open the Start screen and start typing “command prompt”. Then right-click the suggested app, and select Run as administrator.
Step 3: Locate the script
Go to the folder where the script was downloaded. That is, type C:\Downloads in the command prompt and press Enter.
Step 4: Run rs.exe
Now, you can execute the command we have constructed above. Though, make sure to insert your own data, of course. Paste the command to the command prompt and run it. You should see the following screen:
Step 5: Start migration
As the command prompt suggests, press Enter to start migration. The process starts, and rs.exe will transfer all the reports to the new instance of the SQL Server Reproting Services.
That’s it! Now check if everything is working properly by opening your reports in the new instance of the server. Open the report manager of the target server and check the results.
Conclusion
Of course, we have reviewed the simplest example of migrating SSRS reports from one server to another on the same machine. There are more complex scenarios, like migrating reports from one computer to another, moving the report server to one computer and the report databases on the other, migrating from Crystal Reports to SSRS. While you still can accomplish most of these missions manually, hiring a specialist saves you a lot of time while guaranteeing efficiency, accuracy and reliability of the migrated reports.
Converting Crystal Reports to SSRS: Pitfalls of Automation
Learn When It’s Time for You to Migrate from Crystal Reports to SSRS
Reporting Services, Crystal to SSRS migrations
Utilizing given approach each client get his own database. In such case every client`s data stays isolated from others. It simplifies backing up the data, installing new clients but causes higher cost of maintenance.
MoreSubject recursion is well covered in the literature, but, nevertheless, the problem of output “tree” does not mean the client and SQL Server many baffled. So, put the problem: there is a table with the name and record id field indicating the parent identifier. Immediately fill in this table, some sort of test data:
MoreIn our time of greatest prevalence of databases were relational databases, which are the main targets of the tables and the relationships between them. Tables can solve most problems for data storage and manipulation. But in the real world entity requiring storage is not always presented in a tabular form. One of these very common types of data structures other than the table is a tree structure, where each data element is the parent and the offspring. An example of such a structure may be the structure of state enterprises, which is headed by the director (the root of the tree), his deputies, heads of departments from which are subject to certain deputies, employees of departments, which are subject to the rulers.
MoreSubscribe to our blog
Utilizing given approach each client get his own database. In such case every client`s data stays isolated from others. It simplifies backing up the data, installing new clients but causes higher cost of maintenance.
Subject recursion is well covered in the literature, but, nevertheless, the problem of output “tree” does not mean the client and SQL Server many baffled. So, put the problem: there is a table with the name and record id field indicating the parent identifier. Immediately fill in this table, some sort of test data:
Discuss your project with us