Migrating SQL Reporting Services to a new server

By:   |   Updated: 2012-03-19   |   Comments (39)   |   Related: 1 | 2 | > Reporting Services Migration


Problem

I have some SQL Server 2005 Reporting Servers that have many reports, data sources and subscriptions loaded on them. My company is in the process of moving from SQL 2005 to SQL 2008 and 2008 R2. I need to move all the objects off the 2005 Reporting Server to the 2008 Reporting Server. Is there an easy way to do this without saving each report file (edit report and save .rdl) then uploading the report to the new server? This would also mean recreating the data sources and subscriptions. In our case there are many authors and reports are not managed in any formal way so getting the original reports will be extremely difficult.

Solution

I started looking at this task and at first was a little overwhelmed. I did not know of any easy way to move hundreds of reports, data sources and subscriptions from one server to another. I knew I could save each report as an .rdl then upload it to the new server but that would still leave all the data sources and subscriptions. I thought about the number of days it would take me to move the reports and other objects this way so started to look for alternatives. Most of my internet searches returned results that required moving the report server databases from one computer to another (click here to see this process). This approach requires moving encryption keys, moving databases then fixing any issues that may occur as a result. I thought there must be a better way so I kept looking. Then I found a reference to a tool called Reporting Services Scripter. This tool is a .NET Windows forms application that can be used to script out and transfer all SQL Service Reporting Services catalog items. The tool was created by Jasper Smith and can be downloaded here. The download is a single zip file. There is no installation required, just unzip the file to a folder. The tool requires .NET Framework 1.1 and to generate command files or use the Transfer mode the RS.EXE Reporting Services Management Tools command line utility is required.

To use the tool simply double click the RSSCripter.exe file. If presented with an 'Open File - Security Warning' acknowledge the warning by clicking Run and the tool will open.

Reporting Serivces Scripting Tool

Once the tool is open click the Options button to configure the tool for your environment.

Scripting tool Options

Be sure to set the Default Script Directory, this is the location the tool will put the generated script files in. Next click the Servers tab to add your reporting servers to the grid. The first column is just a label and can be anything you like, but it must be unique. The second column is the actual link to the reporting server and should be of the form http://servername/Reportserver/ReportService.asmx for SQL 2000 servers and http://servername/Reportserver/ReportService2005.asmx for SQL 2005 and 2008.

Scripting tool Servers grid

I am not going to go through each tab; the tool includes a very good readme that describes all the available options. There are a few things to note. To include report subscriptions click the Report tab and check the Include Subscriptions check box. The Global tab is used to define the location of the RS.EXE file, the database authentication and the scripting mode. Once all options have been set you are ready to run the tool.

First select a server from your server list by clicking the drop down labeled Report Server. Once a server is selected click the Get Catalog button. This will list all the catalog items on the reporting server.

Scripting tool Report server catalog

You can select individual reports by expanding the report folder and selecting the report or select the entire folder. Once you have selected the objects click the Script button and the script files will be generated in the folder selected as the Default Script Directory. The tool will create script files for all objects selected and it will create a command (.cmd) file for loading those objects on a server. In the command file there is a line that sets the URL of the server to script the report objects to, change this line to the server you want to transfer your reports to:

 SET REPORTSERVER=http://servername/ReportServer

Also be sure the line for the location to the RS.EXE file is correct.

 SET RS="C:\Program Files\Microsoft SQL Server\90\Tools\Binn\RS.EXE"

Once the command file has been edited copy all the files to the new reporting server and execute the command file by double clicking the file in Windows 2003 and right clicking and selecting Run As Administrator in Windows 2008. When I used this tool to migrate to the new server 136 items were migrated and it took just a few minutes. When I inspected the new reporting server and compared it to the old all items I ask for were on the new server, intact and functioned the same as on the old server.

Conclusion

This is a good tool that works very well for what it is designed for. It saved me countless hours completing my task in less than an hour. I did not have to worry about encryption keys, security or stuff left over from a previous version like I would have if I had used the move database method.

Next Steps


sql server categories

sql server webinars

subscribe to mssqltips

sql server tutorials

sql server white papers

next tip



About the author
MSSQLTips author Dale Kelly Dale Kelly has been in the computer industry since the late 80s and is currently a Sr. DBA responsible for 26 SQL Servers.

This author pledges the content of this article is based on professional experience and not AI generated.

View all my tips


Article Last Updated: 2012-03-19

Comments For This Article




Wednesday, June 22, 2016 - 2:44:35 AM - luoki Back To Top (41735)

Hi Dale,

thanks for it, i had download the RSSscripter (the same versio with your), but i got error when try to scripting , any idea for it?

 

thanks in advance

 


Monday, June 29, 2015 - 5:41:16 AM - Gleb Back To Top (38055)

Hi Dale, thanks for the article ! I can also see some positive comments relating to functionality on SQL 2012. Would you be able to tell me if the tool still works with 2014 and (less-so-much) 2016? Woulb be interested in learning whether this tool works for the 2005 -> 2012 and 2008 R2 -> 2012/2014 upgrade paths


Friday, April 24, 2015 - 1:46:52 PM - Frank Garcia Back To Top (37028)

Nevermind, figured it out. Works like a charm on 2012... Excellent!


Thursday, April 23, 2015 - 4:26:00 PM - Frank Garcia Back To Top (37016)

Kamlesh,

 

How were you able to migrate to 2012? I'm getting an error in the logs...

Running script "Every Week Day.schedule.rss"
Could not connect to server: http://csql01/Reports_SQL02/ReportService2005.asmx

I modified the cmd file to point to the new reporting server.

Thanks.

 

 


Wednesday, June 25, 2014 - 11:25:49 AM - Craig Guyer Back To Top (32394)

The following topic\working code sample. may be useful

Sample Reporting Services rs.exe Script to Migrate Content between Report Servers

http://msdn.microsoft.com/en-us/library/dn531017%28v=sql.110%29.aspx


Wednesday, May 28, 2014 - 6:36:07 AM - Lebo Back To Top (31969)

 

I’m having an error    rsInvalidItemPath (The path of the item '' is not valid. The full path must be less than 260 characters long; other restrictions apply. If the report server is in native mode, the path must start with slash.) and cannot figure out which variable has an issue and how to fix it.

 

 

 

 

 

These are my script variables:

 

 

 

::Script Variables

 

SET LOGFILE="RS Scripter Load Log.txt"

 

SET SCRIPTLOCATION=C:\tempreports\

 

SET BACKUPLOCATION=

 

SET NEWPARENT=

 

SET REPORTSERVER=http://servername/ReportServer

 

SET RS="C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\rs.EXE"

 

 

 

Looking forward to your response.

 


Thursday, May 1, 2014 - 9:49:28 AM - Kamlesh Back To Top (30583)

Hi Dale,

I want to migrate ssrs 2005  reports to ssrs 2012. RS scripter works fine to migrate all ssrs 2005 reports to ssrs 2012 server but It does not migrate folder security even though I selected the script folder security option under the Folder tab.

Please suggest.

Kind regards,

Kamlesh

 

 


Friday, January 24, 2014 - 3:01:39 PM - Richard Back To Top (28219)

 

I don't see any notes about the reports connecting to the datasource in the new (target) environment. Does this tool connect the reports or does that have to be done one report at a time?

thanks,

Richard


Monday, January 20, 2014 - 1:42:13 PM - Dale Back To Top (28151)

Paluri;

 

You will not be able to connect to the 2005 reporting service through Management Studio and you will not gain the benefits of 2008 reporting services.

Dale


Monday, January 20, 2014 - 5:56:33 AM - Paluri Back To Top (28138)

Hi All,

We do have reporting services and databases running on sql server 2005.

We are planning to migrate the databases no the reporting services.

ie, reporting services should be on 2005 and databases should be on 2008R2.

Do we have any issues in doing so, any compatibility issues if databases and SSRS on different versions?

Please suggest.


Wednesday, July 24, 2013 - 11:50:45 AM - Derek Robinson Back To Top (25984)

Until it supports shared dataset it's only half a tool.


Wednesday, July 3, 2013 - 11:16:58 AM - Dale Back To Top (25700)

Daniel;

Be sure the user you are trying to connect with has content mangement permissions on the reporting site.


Tuesday, July 2, 2013 - 1:58:00 PM - Daniel Back To Top (25680)

I setup RS Scripter as described and after I click "Get Catalog", I get error message "The Request failed with HTTP status 403: Forbidden". I understand it's permissions issue, but I tried both Windows and Basic authentication, tried RSExec, NetworkService account, administrator, user's account, still no avail. The encription key expired, but the Reports execute just fine. Would that be a problem?


Monday, July 1, 2013 - 8:06:31 PM - Greg Robidoux Back To Top (25666)

@James - not sure where this went to.   I found this other link, but not sure it is the exact same thing or not.

http://sqlserverfinebuild.codeplex.com/wikipage?title=Install%20Reporting%20Services%20Scripter

 


Monday, July 1, 2013 - 4:18:10 PM - James Back To Top (25661)

http://www.sqldbatips.com/samples/code/RSScripter/RSScripter.zip - is broken. can you please let me know if this is moved to a different location?


Tuesday, April 23, 2013 - 11:01:12 AM - mjones Back To Top (23523)

Hey thanks for the link! That worked.


Tuesday, April 23, 2013 - 10:15:30 AM - Dale Back To Top (23521)

Nov1ce;

I suppose you could. I did not think of using it this way.


Tuesday, April 23, 2013 - 8:42:46 AM - nov1ce Back To Top (23511)

Thanks for the article!

Can you use this tool to backup reports on a regular basis? I guess I have to use RSScripterCmd.exe?

PS: For those who are still looking for the script -- it could be downloaded from http://www.sqldbatips.com/samples/code/RSScripter/RSScripter.zip


Wednesday, April 10, 2013 - 3:29:43 PM - mjones Back To Top (23286)

There is no valid url right now. But if anyone has the files and could zip it up and send that to us that would be awesome!!!


Tuesday, April 9, 2013 - 12:33:26 PM - boskabouter007 Back To Top (23256)

it seems that this great tool is not available for download anymore, can someone send me the tool by mail or a valid url to download it.

 

best regards


Tuesday, April 9, 2013 - 11:12:41 AM - Greg Robidoux Back To Top (23254)

Hi @mjones and @Fedor

 

It looks like the sqldbatips.com website is not working anymore.  Not sure where this utility can be found.  All searches lead back to this same URL.

We will see if we can track this down somehow.

Regards,
Greg Robidoux


Tuesday, April 9, 2013 - 10:02:45 AM - Fedor Back To Top (23252)

Where it is NOW ???????????


Monday, April 8, 2013 - 2:08:36 PM - mjones Back To Top (23237)

Hello does anyone know where the rsscripter.exe is? It's no longer available on this link. http://www.sqldbatips.com/showarticle.asp?ID=62

Thanks!


Monday, March 11, 2013 - 6:45:13 AM - Amit Back To Top (22700)

RS Scripter Not wrking with SQL server 2012.


Wednesday, January 23, 2013 - 11:08:29 PM - Tony Back To Top (21667)

Anyone have any luck with SQL server 2012, I am getting an XML parcing error?


Monday, December 10, 2012 - 5:03:06 PM - Rashid Khan Back To Top (20854)

Excellent article.

 

-- Rashid Khan


Friday, December 7, 2012 - 8:03:40 AM - Dale Back To Top (20802)

Steve;

I do not know.


Thursday, December 6, 2012 - 12:30:56 PM - Steve Back To Top (20788)

This tools seems pretty nice. Can this be used to create a DRC location setup without losing primary RSDB host?


Thursday, October 11, 2012 - 9:04:55 AM - Dale Back To Top (19875)

Loch;

I am not sure, I did not test it for 2012.


Wednesday, October 10, 2012 - 3:11:43 PM - Loch Back To Top (19857)

I have used this tool before for migrating to 2005, i think. Will this work with migrating from 2008 to 2012?


Wednesday, April 18, 2012 - 8:24:22 AM - Dale Back To Top (16986)

Mark;

I do not know if this would work with Sharepoint Integrated reporting, I have not tried it.


Wednesday, April 18, 2012 - 1:35:46 AM - Nelson Back To Top (16983)

To migrate the reporting serice to new server ,  I prefer  backup and restore the database and restore the encryption key which is very simple. I have used this tool to consoldiate multiple report server to single server. The other scenario where I have used is when we migrated the database server to a new server , we need to change the data source defined in each rdl file . In this scenario I have downloded all the rdl and data source and replaced old IP address and password with simple find and replace utility and uploaded again

Thanks

Nelson

www.PracticalSqlDba.com


Monday, April 16, 2012 - 2:27:09 PM - Mark Back To Top (16949)

How useful is this with Sharepoint Integrated Reporting Solutions?

We're looking at moving our 2008R2 Sharepoint 2010 integrated system to SQL 2012


Monday, April 16, 2012 - 2:22:28 PM - Mike Back To Top (16948)

 

Agree that RS Scripter is a great tool and we use it all the time to move reports from test to production servers.  But as the previous posters have already said, there is a much simpler way to accomplish the same thing.  The key is to backup your encryption keys first from the 2005 instance.  Then you can backup/restore or dettach/reattach the database, run through the SSRS configuration tool, and restore the encryption keys.  Restart the SSRS service and you're good to go.


Monday, April 16, 2012 - 1:18:51 PM - TL Back To Top (16947)

We've been using this tool for years to migrate reports and datasources between Dev, QA, and Produciton servers.  One important thing to note is that if you use SQL authentication on your data sources with the login and password saved in the datasource, it will NOT move the logins or passwords.  In that case you will have to manually enter the authentication credentials for each datasource (embedded or shared).


Monday, April 16, 2012 - 1:06:12 PM - MWise Back To Top (16946)

I moved/upgraded our 2005 report server db just like LSN.  Deattached/Attached and then let Reporting Services upgrade the database.  I think I may have had to export/import the encryption keys, but it was pretty easy as I remember.


Monday, April 16, 2012 - 12:34:33 PM - LSN Back To Top (16942)

I do like RS Scripter very much, but in the scenario you describe, why wouldn't you just attach your ReportServer db to the new SSRS 2008 instance?  It would have upgraded your db for you and all your reports and other objects would have been just there without additional work.


Monday, April 16, 2012 - 4:09:11 AM - PatJ Back To Top (16933)
I used it to move over 600 report and associated datasources, subscriptions etc from a sql 2005 server to sql 2008 and it was brilliant - easy to use and effective. I considered copying the report server database but this was better!

Monday, March 19, 2012 - 10:13:09 AM - BobC Back To Top (16499)

A few months ago I used this tool for moving from 2005 to 2008R2.  Worked great!  Highly recommended.















get free sql tips
agree to terms