Como resolver errores de TimeOut en Reporting Services

Al trabajar con Reporting Services,os podéis encontrar con diversos errores de timeout. Esto puede suceder al ejecutar informes pesados. Abajo encontraréis diferentes tipos de timeouts y cómo cambiar sus valores.

1. Si el timeout se produce en la ejecución de la consulta del informe, se puede modificar este valor desde el Diseñador de informes. Para ello sigue los siguientes pasos:

· Abrir el informe utilizando el diseñador de informes (Business Intelligence)

· Seleccionar la pestaña de datos

· Seleccionar las propiedades del dataset

· Incrementar el valor del timeout (o poner el número de minutos permitidos para la duración de la consulta si estuviese vacío)

clip_image002

2. Si el timeout se produce por la duración de la ejecución del informe completo, se puede aumentar en la propiedad bajo la opción 'Do not timeout report execution'

Más información en:

https://msdn2.microsoft.com/en-us/library/ms179924.aspx

https://msdn2.microsoft.com/en-us/library/ms183733.aspx

3. Si el timeout es debido que la session haya expirado, se puede modificar el sessionState en el fichero de configuración web.config que está en la ruta “C:\Programme\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager”

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

Reiniciar IIS (Inicio - Ejecutar…, escribit iisreset y hacer clic en Aceptar).

EN EL SERVIDOR

4. Si el timeoout es causado por la conexión al servidor de base de datos, se puede cambiar el timeout de la conexión a 7200 segundos (por defecto es 120 segundos)

· Abrir IIS

· Hacer right clic en el sitio web donde está el Report Server

· Seleccionar las Propiedades

· Si el timeout de la conexión es menor que 7200, se podría incrementar a 7200

5. En el fichero RSReportServer.config se pueden modificar los siguientes valores (valore de ejempo):

<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. Comprueba el valor del ExecutionTimeout en el fichero web.config

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

y

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

Por defecto es 9000 segundos, que son 2.5 horas.

Compruba los valores en los dos ficheros web.config

( ejemplo: <httpRuntime executionTimeout = "9000" /> ).

Puedes aumentar este al valor a 36000.

Maria Esteban

Reporting Services Support Engineer