Hotfix fra Microsoft kan give problemer for Reporting Services

18-01-2012 ØS LDV

Denne nyhed henvender sig kun til institutioner hvor ØS LDV ikke er hostet hos KMD, CSC eller SIT.
Der er nogle institutioner som oplever et generelt problemer ved afvikling af rapporter i Reporting Services.
Problemet er at der ikke kommet noget indhold i rapporterne
Problemet er opstået fra 30 dec. 2011 og frem.

Microsoft har frigivet et Hotfix til Windows server KB2656351, KB2656355, KB2656356. Disse Hotfix er til .Net Framework og er installeret alt efter version af .Net Framework og Windows server version.
Dette Hotfix kan give problemer i afviklingen af rapporter i Reporting Services.
Problemerne opstår når der er mange dimensions værdier i en rapportenes dimension eller ved mange dimensioner i rapporterne.

Information omkring disse Hotfix findes her

http://technet.microsoft.com/en-us/security/bulletin/ms11-100


Identificeringen af fejlen


Fejlen kan ses når en rapport afvikles. Rapporten viser ikke noget i indholdet i selve rapporten, og nederst i venstre hjørne af Internet Explorer er der en gul advarsels trekant.

I loggen på Reporting Servises ses følgende fejl tekst eller lignende.
Loggen til Reporting Servises findes her:

SQLServer 2005:
C:\Programmer\Microsoft SQL Server\MSSQL.3\Reporting Services\LogFiles

SQLServer2008 R2:
C:\Programmer\Microsoft SQL Server
\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles

Fejlen i Logfilen:

ui!ReportManager_0-17!c10!01/16/2012-22:02:57:: e ERROR: System.Web.HttpException: The URL-encoded form data is not valid. ---> System.InvalidOperationException: Operation is not valid due to the current state of the object.
at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()
at System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding)
at System.Web.HttpRequest.FillInFormCollection()
--- End of inner exception stack trace ---
at System.Web.HttpRequest.FillInFormCollection()
at System.Web.HttpRequest.get_Form()
at System.Web.HttpRequest.get_HasForm()
at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
at System.Web.UI.Page.DeterminePostBackMode()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
library!ReportServer_0-18!c98!01/16/2012-22:02:57:: Call to GetSystemPermissionsAction().
ui!ReportManager_0-17!c10!01/16/2012-22:02:57:: e ERROR: HTTP status code --> 500


Løsningen

Der er to løsningens muligheder på problemet.

1. På den server hvorpå Reporting services afvikles skal Hotfix KB2656351, KB2656355 eller KB2656356 afinstalleres.

2. På reporting services serveren ændres i web.config filen.
Filen ligger her "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager"
åben Web.config i notepad og tilføj følgende værdi under <appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="100000" />  

De 100000 angiver max antal dimensionsværdier i en dimension.

Til slut ved begge løsninger:  
Her efter genstartes serveren. 
Kontroller at alt virker som det skal