共用方式為


Upgrading Reporting Services - What about my Report Definitions (RDLs)?

Some folks have asked me what happens when I upgrade my RS 2000 to an RS 2005 deployment with respect to Report Definitions (RDLs).   This is an interesting lifecycle problem that we’ve approached using the following idea:

What you publish to the report server is what you retrieve from the report server.

 

Here’s how it works:  Say you have an RS 2000 Reporting Services deployment that has a number of working reports in it.  You probably have one or more corresponding report projects that you edit in Report Designer in Visual Studio 2003 .Net.  When you publish these reports, the RDL is stored in the Report Server Database (not the file system!).  The RDL is stored and we create a corresponding compiled version of the report that we also store.  If you use Report Manager to request the RDL (Properties Tab + General Page + Edit) we’ll retrieve for you the RDL you supplied.   You can go ahead and edit that RDL in the RS 2000 Report Designer.

 

The exact same process happens when you deploy RS 2005 – just that now you’re editing reports using the RS 2005 Report Designer in Business Intelligence Development Studio (based on Visual Studio 2005).  A key thing to note is that the RS 2005 RDL is different from the RS 2000 RDL.  Also, the compiled version of the report in RS 2005 is different from the compiled version of the report in RS 2000.

 

So, what happens on upgrade?  What should I expect?

 

First – note that if you upgrade an instance of RS 2000 to RS 2005, the RS 2000 Report Designer will be uninstalled.  So if you need to use both RS 2000 and RS 2005 in your business, consider installing RS 2005 side-by-side with the existing RS 2000.  This will only apply to a development box since on a server you likely will not install the Report Designer.

 

Next – the RS 2005 Report Designer does not output RS 2000 RDLs.   So if you need to develop reports for RS 2000, keep the old Report Designer and Visual Studio 2003 .Net around.   The RS 2005 Report Designer prompts you to upgrade RS 2000 RDLs.  If you accept the choice the RDL will become an RS 2005 RDL and won’t work on an RS 2000 server anymore!  All is not lost if you get a case of ‘buyer’s remorse’ after you did the upgrade and don’t have a back up of the original RDL – read on.

 

Now the fun part – The RS 2005 Report Server can run RS 2000 RDLs.  You can publish them to the Report Server.  When you do that, we compile it into the RS 2005 compiled format.  We do not change the RDL in any way.  So when you retrieve it from the report server, you’ll get the original RS 2000 RDL you published to the server.  Pretty nifty.  So all those report projects that you had in RS 2000 Report Designer will continue to publish just fine to the RS 2005 server.  When you edit them, you’ll obtain the RS 2000 RDL. 

 

Let’s keep going with this – If you upgraded your Report Server to the 2005 version, you’ll be happy to know that the RDLs you published again won’t be affected.  If you edit them, they’ll get the original RS 2000 RDLs.  So if you got some of that buyer’s remorse you’ll still have access to your RS 2000 RDLs from the report server.

Ok one last thing – I said that the RS 2005 compiled report format is different from the one used in RS 2000.  So the question needs to be asked – how does the Report Server handle this after upgrade?  What we do is the first time the report is accessed after the upgrade we recompile the report to match out new schema.  We do this on demand.  So if you have a report that is never run, its compiled format is never updated, and you never have to experience the drain on CPU/Memory associated with that task.

 

Ok, that’s RDL upgrade in a nutshell.  Hope this is useful to you all.

 

Take care and good luck,

-Lukasz

Comments

  • Anonymous
    April 04, 2006
    Hi,

    we have a problem with some managements packs of mom 2005 running with sql 2005 and ssrs 2005. we applied all avaiable hotfixes and the basic solution is running. we now hve a problem installing some management packs which contains reports in rdl 2000 format.

    some managements packs just work fine (custer and DHCP for example) but the insteresstings reports from the exchange 2003 pack won't work. i have done some research. i extracted the rdl from the management pack definition (xml) and opened it with BI Studio 2005. It converted the rdl but the datasources where missing. i could finde the problem. a namespace applied to the tag DataSets was the error. "rdef:DataSets" is the problem. removing the namespace and open the rdl again in BI Studio 2005 worked this time.

    we tried to replace the namespace in the management pack (which contains about 20 reports) but the installation still faild. so there has to be something unique BI Studio is doing on the rdl. if i integrate the converted rdl from BI studio the install works fine. we have tested with one report. there are some managements packs not working. do you have an idea how to convert the rdls automaticly? i can build a .net application to extract an recreate the management pack xml file, but is there a way to upgrade the format programaticaly?

    Can you help me?

    Bye marco