SQL Server Reporting Services (SSRS) Export – System.Web.HttpException: Zeit für Anforderung überschritten

Problem

System.Web.HttpException: Zeit für Anforderung überschritten

System.Web.HttpException: Request timed out

HttpException (0x80004005)

Details

Der Export eines SQL Server Reporting Services (SSRS) Reports aus dem SharePoint dauert lange und bricht nach etwa zwei Minuten ab. Das merkt man beim Export größerer Dateiformate wie z.B. Excel und Tiff.

Aus anderen Anwendungen heraus (z.B. ReportBuilder) klappt der Export!

Es werden evtl. folgende oder ähnliche Meldungen angezeigt (zumindest findet man welche in den ULS-Logs):

  • System.Web.HttpException: Zeit für Anforderung überschritten.
  • Getting Error Message for Exception System.Web.HttpException (0x80004005): Zeit für Anforderung überschritten.
  • System.Web.HttpException: Request timed out
  • HttpException (0x80004005): Request timed out

An der Dateigröße des Exports scheint es nicht zu liegen, da scheinbar die nicht so aufwendigen Formate, die allerdings wesentlich größere Dateigröße ergeben wie CSV (ca. 7Mb), XML (ca. 70Mb) etc. problemlos exportiert werden, da sie weniger als zwei Minuten brauchen, also schon eher fertig werden.

ULS-Log Eintrag

In den ULS-Logs findet man Einträge wie:

System.Web.HttpException: Zeit für Anforderung überschritten.
Getting Error Message for Exception System.Web.HttpException (0x80004005): Zeit für Anforderung überschritten.

Fix

80\web.config auf den WFEs anpassen

  1. Datei web.config im Verzeichnis der Webanwendung finden. In unserem Fall ist es der Ordner:
    C:\inetpub\wwwroot\wss\VirtualDirectories\80
  2. Den Eintrag in der Datei editieren bzw. ersetzen (ziemlich in der Mitte):
    Vorher:

    </SharePoint>
      <system.web>
        <httpHandlers />
        <customErrors mode="On" />
        <httpRuntime maxRequestLength="51200" requestValidationMode="2.0" />
        <authentication mode="Forms">
          <forms loginUrl="/_login/default.aspx" />
        </authentication>
    

    Danach:

    </SharePoint>
      <system.web>
        <httpHandlers />
        <customErrors mode="On" />
        <httpRuntime maxRequestLength="51200" executionTimeout="1800" requestValidationMode="2.0" />
        <authentication mode="Forms">
          <forms loginUrl="/_login/default.aspx" />
        </authentication>
    
  3. IIS auf den WFEs neu starten (nicht nur die einzelnen Seiten)

Andere Lösungsansätze

die in diesem Fall nicht erfolgreich waren, aber in anderen, ähnlichen Fällen evtl. die Lösung sein könnten.

Reporting\rsreportserver.config

  1. Folgende Datei finden:
    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\WebServices\Reporting\rsreportserver.config
  2. Einfügen folgender Zeilen auf den App-Servern (hat in unserem Fall nichts bewirkt):
    <Add Key="SQLCommandTimeoutSeconds" Value="2400"/>
    <Add Key="DatabaseQueryTimeout" Value="600"/>
    

Reporting\web.config

  1. Folgende Datei finden:
    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\WebServices\Reporting\web.config
  2. Folgende Zeile finden:
    <httpRuntime maxRequestLength="51200" />
  3. und mit dieser Zeile ersetzen:
    <httpRuntime executionTimeout="1000" maxRequestLength="951200" />

80\web.config executionTimeout prüfen

  1. Folgende Datei auf den WFEs finden:
    C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config
  2. Prüfen ob im folgendem Block httpRuntime executionTimeout ausreichend hoch ist (war bei uns schon der Fall)
    <location path="_vti_bin/ReportServer">
      <system.web>
        <!-- Note: executionTimeout is in seconds and is set to 1 hour here. -->
        <httpRuntime executionTimeout="3600" />
    

Leerlauftimeout für den SSRS Anwendungspool

  1. Im IIS auf den App-Servern (dort wo SSRS läuft) den SSRS-Anwendungspool finden.
  2. Leerlauftimeout z. B. von 0 auf 5 hoch setzen.

IIS Verbindungstimeout einstellen

  1. Im IIS auf den WFEs die erweiterten Eigenschaften von „SharePoint-80“ aufrufen.Unter Limits den Verbindungstimeout von 120 auf 300 erhöhen.
  2. Im IIS auf den WFEs und App-Servern die erweiterten Eigenschaften von „SharePoint Web Services“ aufrufen.
    Unter Limits den Verbindungstimeout von 120 auf 300 erhöhen.

Links

  1. social.msdn.microsoft: Issue Exporting SSRS 2012 Report to CSV file in SharePoint 2010 (MaxReceivedMessageSize property exceeded)
  2. blog-mstechnology.blogspot: Configuring SSRS Report Timeout in SharePoint
  3. http://social.msdn.microsoft.com/forums/sqlserver/en-US/5c36c96e-72ad-423f-b0d0-088c5e1cc69b/reports-failing-with-rsreportserverdatabaseerror
  4. https://go4answers.webhost4life.com/Example/reporting-services-timeout-problem-103556.aspx
  5. http://msdn.microsoft.com/de-de/library/ms157273.aspx
  6. http://stackoverflow.com/questions/18148772/exporting-an-ssrs-report-to-excel-failure
  7. https://biatlink.wordpress.com/2013/06/27/error-in-ssrs-system-web-httpexception-maximum-request-length-exceeded/comment-page-1/
  8. http://social.msdn.microsoft.com/Forums/en-US/7884c0c1-4c27-4b04-a2a9-750af5de8721/reportviewer-systemwebhttpexception-request-timed-out?forum=vsreportcontrols
  9. http://weblogs.asp.net/jeffwids/archive/2010/09/04/how-to-increase-the-timeout-for-a-sharepoint-2010-website.aspx
  10. http://stackoverflow.com/questions/7241046/system-web-httpexception-request-timed-out
  11. http://dbaspot.com/ms-sqlserver/400284-deep-integration-sharepoint-moss-ssrs-timeout-issue.html
  12. http://blogs.technet.com/b/jenstr/archive/2008/02/28/uploading-of-a-cab-file-to-update-server-wss-site-fails-with-an-exception-and-the-message-thread-was-being-aborted.aspx
  13. http://support.microsoft.com/kb/925083/de
  14. http://stackoverflow.com/questions/2748706/connection-timeout-and-connection-lifetime
  15. http://blogs.msdn.com/b/mariae/archive/2009/09/24/troubleshooting-timeout-errors-in-reporting-services.aspx
  16. http://www.avyuktasolutions.com/blog/sql-server-reporting-services-timeout-settings/
  17. http://blog.sqltrainer.com/2008/05/sharepoint-sql-server-reporting.html

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert