Informes almacenados en caché (SSRS)

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 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 más información sobre cómo se almacenan en la memoria caché los archivos temporales de uso interno, consulte Base de datos del servidor de informes (Modo nativo de SSRS).

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.

Actualice la 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 expirado 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 expiración. La expiración 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 se pueden eliminar informes de la caché directamente salvo que se use la API de SOAP.

Para configurar la expiración de la caché, puede usar una programación compartida o una específica del informe. Si usa una programación compartida y ésta se detiene posteriormente, la caché no expirará 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 una programación expira o si el motor de programación no está disponible en una fecha de expiración de caché, el servidor de informes ejecuta un informe activo. Esta acción continúa hasta que se puedan reanudar las operaciones programadas. Las operaciones programadas se pueden reanudar al ampliar la programación o iniciar el servicio de programación.

Carga previa de la memoria caché

Para mejorar el rendimiento del servidor, se puede cargar previamente la memoria caché. Puede cargar previamente la memoria caché con una recopilación de instancias del informe parametrizadas de dos maneras:

  1. Cree un plan de actualización de la memoria caché. Al crear un plan de actualización, puede especificar una programación para un informe único o especificar una programación compartida.

  2. Cree una suscripción controlada por datos que use 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. El servidor usa una extensión de representación especializada denominada extensión de representación null. 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.

Almacenar en caché un informe resulta especialmente útil si se desea 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. En el informe solamente se pueden especificar parámetros basados en consultas.

Cuando se especifica una programación o se crea la suscripción controlada por datos, se debe programar la frecuencia con que se entregan los informes en la memoria caché. Para que se entreguen copias nuevas en la memoria caché, las antiguas deben haber expirado. Por lo tanto, las propiedades de Ejecución del informe se deben configurar de modo que se incluyan parámetros de expiración de la caché. La configuración de expiración 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 expirar cada noche antes de la ejecución de la suscripción. Si las propiedades de ejecución no contemplan las horas de expiración, se omitirán las entregas más recientes. Para más información sobre los planes de actualización de la memoria caché, vea Programaciones. Para más información sobre cómo establecer las propiedades, vea Establecer las propiedades de procesamiento de informes. Para más información sobre cómo usar suscripciones controladas por datos, vea Suscripciones controladas por datos.

Situaciones que pueden provocar la expiración de la memoria 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 se puede representar desde una instancia almacenada en caché por cualquier motivo, el servidor de informes vuelve a ejecutar el informe. Esta acción garantiza que el informe se genere con los valores de parámetro correctos y actualizados.