Upgrading Reporting Services

Posted: February 6, 2014 in Uncategorized

My most recent project involves upgrading reports that are developed in RS 2005 to RS 2012. So I was curious about what really happens when you deploy an RDL file to a Reporting Server. So here are some of the stuff that happens in the background when you deply an RDL file.

  • The RDL is stored as a BLOB in the Report Server Database. It is not stored as a file.
  • The Report Server alse stores a compiled version of the RDL file

Curious about the table that stores the RDL file info?
It is the Catalog table in ReportServer database.

The XML schema is stored in a field called content and you can retrieve the contents from the ‘content’ filed and convert it back to XML schema using the following SQL code.
select *,convert(varchar(max), convert(varbinary(max), content)) as xmlvalue
from catalog
where content is not null

Check out the following link to get more info on catalog table and retreiving information from the catalog table,

So back to the upgradation part..
Turns out you can upgrade the RDL files in two different ways.. You can open the solution in the designer and the designer will upgrade all the reports in the solution for you.. This is mostly a painless process although there are some areas where you will find some issues..I should also mention that this is the only way to modify the actual RDL file.

The second option is to actually run the report from the report manager or the application which is accessing the reports. The first time the reports are run, they are compiled into the version of Report Server. For example if you have a RS 2005 report and you ran it on a server that has RS2012, the report is recombiled to match the 2012 version. If the upgrade was successful, the report will run as a 2012 report, if there were any issues the report will run as a 2005 report in backward combatibility mode.

One important thing to note about the section option is that the actual RDL file does not change. When you retrieve it from the report server, you’ll get the original RS 2005 RDL you published to the server. This is handy if you need to get back the original report in future.

So the question is, how does Report Server display the upgraded report if the original RDL file is unchanged? Looks like what happens in the background is that the first time the report is accessed after the upgrade the report is recompiled to match out new schema. This is done on demand. So if you have a report that is never run, its compiled format is never updated.

Need more info? Read http://blogs.msdn.com/b/lukaszp/archive/2006/02/20/upgrading-reporting-services-what-about-my-report-definitions-rdls.aspx


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s