Wednesday, April 4, 2018

Troubleshooting Timeout errors in Reporting Services

Working with reports in Reporting Services, you can face timeout errors. This situation might happen when using very heavy reports. I will show bellow a list of different timeouts that could be affecting reports execution in Reporting Services and how you can adjust their values.

1.       If the timeout is produced by the query execution of the report, you can modify this value in the Report Designer. To find this setting:

·         Open the report using the report designer (Business Intelligence)
·         Select the Data tab
·         Select the dataset properties
·         Increase the value of the timeout box (or put the number in minutes for the query duration if empty)


                      image

2.       If the timeout is caused by the length of the execution of the report, you can change the Report Execution Timeout property by selecting the 'Do not timeout report execution' option

More info in:

3.       If the timeout is caused by the session, you can change the setting of the sessionState in the web.config file in the folder “C:\Programme\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager”

 <sessionState mode="InProc" cookieless="false" timeout="180" />

Restart IIS (Start - Run…, type in iisreset and then click OK).

ON THE SERVER

4.       If the timeout is caused by the connection, you can change web site Connection Timeout to 7200 sec (default is 120 sec)

·         Open IIS Manager.
·         Right click the web site where Report Server is running.
·         Select Properties.
·         What is the setting for Connection timeout?
·         If it is less than 7200 you could change to the value 7200.

5.       In RSReportServer.config you could set the following values (theses are sample values, you can adjust your own):

<Add Key="ProcessRecycleOptions" Value="1"/> <!--Disabled-->
<Add Key="CleanupCycleMinutes" Value="36000"/> <!--10 Hours-->
<Add Key="SQLCommandTimeoutSeconds" Value="0"/> <!--None-->
<Add Key="MaxActiveReqForOneUser" Value="100"/>
<Add Key="DatabaseQueryTimeout" Value="0"/> <!--None-->
<Add Key="RunningRequestsScavengerCycle" Value="36000"/> <!--10 Hours-->
<Add Key="RunningRequestsDbCycle" Value="36000"/> <!--10 Hours-->
<Add Key="RunningRequestsAge" Value="30"/>

6.       Check the ExecutionTimeout setting within the web.config

\Program Files\Microsoft SQL Server\MSSQL.X\Reporting Services\ReportManager\
and
\Program Files\Microsoft SQL Server\MSSQL.X\Reporting Services\ReportServer)

Default is 9000 seconds, which is 2.5 hours.
In both web.config files check to see what the values are
(e.g., <httpRuntime executionTimeout = "9000" /> ).
You can alter this to 36000.

Maria Esteban

Reporting Services Support Engineer

1 comment: