Compartir a través de


Almacenamiento en memoria caché de informes en Reporting Services

Un servidor de informes puede almacenar en memoria caché una copia de un informe procesado y devolverla cuando el usuario abra el informe. Para un usuario, la única prueba visible que indica que el informe es una copia en caché es la fecha y la hora de ejecución. Si la fecha o la hora no son actuales y el informe no es una instantánea, significa que éste se ha obtenido de la caché.

El almacenamiento en caché puede reducir el tiempo necesario para recuperar un informe cuando éste es demasiado grande o se utiliza con frecuencia. Si se reinicia el servidor, las instancias almacenadas en la caché se restablecen cuando el servicio Web del Servidor de informes vuelve a estar en línea.

El almacenamiento en caché es una técnica de mejora del rendimiento. El contenido de la caché es volátil y puede cambiar conforme se agregan, reemplazan o eliminan informes. Si precisa una estrategia de almacenamiento en caché más predecible, se recomienda que cree una instantánea del informe. Para obtener más información, vea Establecer las propiedades del procesamiento de informes.

[!NOTA]

Reporting Services almacena los archivos temporales en una base de datos para su uso en las sesiones de usuario y el procesamiento de informes. Estos archivos se almacenan en la caché para uso interno y para lograr coherencia en la visualización durante una sesión única del explorador. Para obtener más información acerca de cómo se almacenan en caché archivos temporales para uso interno, vea Instalación de la base de datos del servidor de informes.

Instancias almacenadas en caché

Una instancia de un informe almacenada en caché se basa en el formato intermedio del informe. Por lo general, el servidor de informes almacena en caché una instancia de un informe según el nombre del informe. Sin embargo, si un informe puede incluir datos diferentes basados en parámetros de consulta, es posible que se almacenen en caché varias versiones del informe. Por ejemplo, supongamos que dispone de un informe con parámetros que utiliza el código de región como un valor de parámetro. Si cuatro usuarios distintos especifican cuatro códigos de región diferentes, se crearán cuatro copias en la memoria caché.

El primer usuario que ejecuta el informe con un código de región exclusivo crea un informe en caché que contiene los datos correspondientes a la región indicada. Los siguientes usuarios que soliciten el informe con el mismo código de región obtendrán la copia almacenada en la caché.

No todos los informes se pueden almacenar en caché. Por ejemplo, no se pueden almacenar en la memoria caché los informes que incluyen datos dependientes del usuario, que solicitan las credenciales a los usuarios o que utilizan la autenticación de Windows.

Actualizar la memoria caché

Un informe almacenado en caché se sustituye por una versión más reciente cuando un usuario selecciona el informe después de que haya caducado la copia en caché anterior. Los informes que se hayan configurado para ejecutarse como instancias en caché se quitan de la caché a intervalos regulares, en función de los parámetros de caducidad. La caducidad de un informe se puede establecer en minutos o en un momento programado, según se determina mediante el requisito de inmediatez de los datos. No es posible eliminar informes de la caché directamente salvo que se utilice la API de SOAP.

Para configurar la caducidad de la caché, puede utilizar una programación compartida o una específica del informe. Si utiliza una programación compartida y ésta se detiene posteriormente, la caché no caducará mientras la programación no esté operativa. Si más adelante se elimina la programación compartida, se guardará una copia de la configuración de la programación como programación específica del informe.

Si caduca una programación o si deja de estar disponible el motor de programación en la fecha de caducidad de la caché, el servidor de informes ejecutará un informe activo hasta que puedan reanudarse las operaciones programadas (ya sea ampliando la programación o iniciando el servicio de programación).

Cargar previamente la caché

Para mejorar el rendimiento del servidor, se puede cargar previamente la caché. Para cargar previamente la caché con una colección de instancias de informes con parámetros, cree una suscripción controlada por datos que utilice el proveedor de entrega NULL. Cuando se especifica el proveedor de entrega NULL como método de entrega en la suscripción, el servidor de informes toma la base de datos del servidor de informes como destino de entrega y utiliza una extensión de representación especializada, llamada extensión de representación NULL.

Esta característica resulta especialmente útil si se desean almacenar en caché varias instancias de un informe con parámetros, en el que se utilizan distintos valores de parámetros para generar diferentes instancias de informe. Tenga en cuenta que en el informe sólo se pueden especificar parámetros basados en consultas. A diferencia de otras extensiones de entrega, el proveedor de entrega NULL no permite establecer ninguna configuración de entrega mediante una definición de suscripción.

Cuando se crea una suscripción controlada por datos, se debe programar la frecuencia con que se entregan los informes a la caché. Para que se entreguen copias nuevas a la caché, las antiguas deben haber caducado. Por lo tanto, las propiedades de Ejecución del informe se deben configurar de modo que se incluyan parámetros de caducidad de la caché. La configuración de caducidad debe ser coherente con la programación definida para la suscripción. Por ejemplo, si se crea una suscripción que se ejecute cada noche, la caché también debería caducar cada noche antes de la ejecución de la suscripción. Si las propiedades de Ejecución no contemplan las horas de caducidad, se omitirán las entregas más nuevas. Para obtener más información acerca de la configuración de propiedades, vea Establecer las propiedades del procesamiento de informes. Para obtener más información sobre el uso de suscripciones controladas por datos, vea Suscripciones controladas por datos.

Situaciones que pueden provocar la caducidad de la caché

Un informe en caché pierde su validez como consecuencia de las siguientes situaciones: una modificación de la definición de informe o de los parámetros del informe, un cambio de las credenciales del origen de datos o un cambio de las opciones de ejecución del informe. Si elimina un informe almacenado en caché, también se elimina la versión en caché.

Si un informe no puede representarse desde una instancia en caché por cualquier motivo (por ejemplo, si los valores de los parámetros que especifica un usuario son distintos de los que se utilizan para generar el informe en caché), el servidor de informes vuelve a ejecutar el informe.