Last week an upgrade of the Configuration Manager 2012 SP1 SQL Servers was scheduled . This was a straightforward upgrade of SQL Server 2008 R2 SP1 to SQL Server 2012 SP1 which was affecting both Central Administration Site (CAS) server and Primary Site Server (PSS).
After the upgrade we noticed that Reports are not longer available. Opening a random report resulted in an error:
Failed to load expressions host assembly. Details: Could not load file or assembly ‘SrsResources. Culture=Neutral’ or one of its dependencies. The system cannot find the file specified.
As SQL Reporting Reporting Services is a component of SQL Server setup and thus Reporting Services will be upgraded as well. By default, the installation directory of SQL Server 2008 R2 Reporting Services, which may very to your custom parameters, is the following:
C:\Program Files\Microsoft SQL Server\MSRS10.50.MSSQLSERVER
Due to the upgrade from SQL Server 2008 R2 to SQL Server 2012 the default installation directory has changed to:
C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER
So the configuration defined in rssrvpolicy.config does not match the new situation. The SRSResources assembly url in rsssrvpolicy.config is still pointing to the installation path of SQL Server 2008 R2 instead of SQL Server 2012.
This issue can be solved by performing the following steps:
- Change the SRSResources assembly url in rssrvpolicy.config which is located in the new SSRS installation folder .\MSRS11.MSSQLSERVER\Reporting Services\Report Server\Bin
- Copy srsresources.dll from the old SSRS installation folder .\MSRS10.50.MSSQLSERVER\Reporting Services\Report Server\Bin to the new SSRS installation folder .\MSRS11.MSSQLSERVER\Reporting Services\Report Server\Bin.
- That is it!
Although we fixed this issue in a production environment and were able to reproduce it in a lab environment I am not sure the above steps are a recommended approach or are even supported by Microsoft. I guess a rhetoric question ;-).
To be sure you are taking a ‘supported’ route the best way is to remove the Reporting Service Point (RSP) role and add it back again. How to install RSP is described in this TechNet wiki.
Hope this helps!