Suscripciones y entrega (Reporting Services)

Una suscripción de Reporting Services es una configuración que entrega un informe a una hora concreta o a raíz de un evento. También está en el formato de archivo que especifique. Por ejemplo, todos los miércoles, se guarda el informe VentasMensuales en formato de documento Microsoft Word en un recurso compartido de archivos. Las suscripciones se pueden utilizar para programar y automatizar la entrega de un informe con un conjunto concreto de valores de parámetros de informes.

Puede crear varias suscripciones para un único informe para variar las opciones de suscripción. Por ejemplo, puede especificar valores de parámetro diferentes para generar tres versiones de un informe. Estos informes son uno como un informe de ventas de regiones occidentales, ventas de regiones orientales y todas las ventas.

Diagram of an example SSRS subscription flow.

Las suscripciones no están disponibles en todas las ediciones de SQL Server. Para obtener una lista de las características admitidas por SQL Server, consulte Ediciones y características admitidas de SQL Server 2022.

En este tema:

Temas de esta sección:

Escenarios de suscripción y entrega

Para cada suscripción, la extensión de entrega que elija determina las opciones de entrega que puede configurar. Una extensión de entrega es un módulo que admite alguna manera de distribución. Reporting Services incluye varias extensiones de entrega y, además, la extensión de entrega puede estar disponible con proveedores de terceros.

Si es un programador, puede crear extensiones de entrega personalizadas para admitir otros escenarios. Para más información, consulte Implementar una extensión de entrega.

En la tabla siguiente se describen los escenarios de suscripción comunes de Reporting Services .

Escenario Descripción
Informes por correo electrónico Envíe informes por correo electrónico a usuarios individuales y grupos. Cree una suscripción y especifique un alias de grupo o de correo electrónico para recibir el informe que desea distribuir. Puede hacer que Reporting Services determine los datos de la suscripción en tiempo de ejecución. Si desea enviar el mismo informe a un grupo que tiene una lista variable de miembros, puede usar una consulta para derivar la lista de suscripción en tiempo de ejecución.
Ver informes sin conexión Los usuarios pueden seleccionar uno de los formatos siguientes para la salida de la suscripción:

- Archivo XML con datos de informe
- CSV (delimitado por comas)
- PDF
- MHTML (archivo web)
- Microsoft Excel
- Archivo TIFF
- Microsoft Word

Los informes que desee archivar pueden enviarse directamente a una carpeta compartida de la que se hará copia de seguridad con arreglo a una programación nocturna. Los informes grandes que tardan demasiado tiempo en cargarse en un explorador se pueden enviar a una carpeta compartida en un formato que pueda verse en una aplicación de escritorio.
Carga previa de la memoria caché Si tiene varias instancias de un informe con parámetros o un gran número de usuarios de informes que ven los informes, puede cargar los informes previamente en caché. La precarga reduce el tiempo de procesamiento necesario para mostrar el informe.
Informes controlados por datos Use las suscripciones controladas por datos para personalizar la salida de informes, las opciones de entrega y la configuración de los parámetros del informe en tiempo de ejecución. La suscripción usa una consulta para obtener los valores de entrada de un origen de datos en tiempo de ejecución. Puede usar suscripciones controladas por datos para realizar una operación de combinación de correspondencia que envíe un informe a una lista de suscriptores que se determina en el momento de la suscripción.

Suscripciones estándar y controladas por datos

Reporting Services admite dos tipos de suscripciones: estándar y controladas por datos. Las suscripciones estándar se crean y se administran por usuarios individuales. La suscripción estándar consta de valores estáticos que no pueden modificarse durante su procesamiento. Para cada suscripción estándar existe un único conjunto de opciones de presentación del informe, opciones de entrega y parámetros de informe.

Las suscripciones controladas por datos obtienen información de suscripción en tiempo de ejecución consultando un origen de datos externo que proporciona los valores usados para especificar un destinatario, parámetros de informe o un formato de aplicación. Las suscripciones controladas por datos están indicadas para listas de destinatarios extensas o para ocasiones en las que se desea cambiar el resultado del informe para cada destinatario. Este tipo de suscripciones requieren conocimientos sobre la creación de consultas y el uso de los parámetros. Las personas que crean y administran estas suscripciones suelen ser los administradores del servidor de informes. Para más información, consulte los siguientes artículos.

Requisitos de suscripción

Para poder crear una suscripción a un informe, se deben cumplir los siguiente requisitos previos:

Requisito Descripción
Permisos Debe tener acceso al informe. Para poder suscribirse a un informe, debe tener permiso para verlo.

Para los servidores de informes en modo nativo, las asignaciones de roles siguientes afectan a las suscripciones:

- La tarea "Administrar suscripciones individuales" permite a los usuarios crear, modificar y eliminar suscripciones correspondientes a un informe determinado. En los roles predefinidos, esta tarea forma parte de los roles Explorador y Generador de informes. Las asignaciones de roles que incluyen esta tarea permiten al usuario administrar únicamente las suscripciones que crea.
- La tarea "Administrar todas las suscripciones" permite a los usuarios tener acceso a todas las suscripciones y modificarlas. Esta tarea es necesaria para crear suscripciones controladas por datos. En los roles predefinidos, solo el rol Administrador de contenido incluye esta tarea.
Credenciales almacenadas Para crear una suscripción, el informe debe utilizar credenciales almacenadas o ninguna credencial para recuperar datos en tiempo de ejecución. No puede suscribirse a un informe configurado para usar las credenciales representadas o delegadas del usuario actual para conectarse a un origen de datos externo. Las credenciales almacenadas pueden ser una cuenta de Windows o una cuenta de usuario de base de datos. Para más información, consulte Especificar información de credenciales y conexión para los orígenes de datos de informes

Debe tener el permiso para ver el informe y crear suscripciones individuales. La opciónEventos programados y entrega de informes debe estar habilitada en el servidor de informes. Para obtener más información, vea Crear y administrar suscripciones para servidores de informes en modo nativo.
Valores dependientes de usuario en un informe Únicamente en el caso de las suscripciones estándar, es posible crear suscripciones a informes que incluyan información de cuenta de usuario en un filtro o como texto que aparezca en el informe. En el informe, el nombre de la cuenta de usuario se especifica con una expresión User!UserID que da como resultado el usuario actual. Cuando se crea una suscripción, se considera que el usuario actual es el que la crea.
Sin seguridad de elemento de modelo No es posible suscribirse a un informe del Generador de informes que utilice como origen de datos un modelo si éste contiene una configuración de seguridad de elementos de modelo. Esta restricción solo se aplica a los informes que utilizan seguridad de elementos de modelo.
Valores de parámetros Si el informe utiliza parámetros, se debe especificar un valor de parámetro con el propio informe o en la suscripción que defina. Si se han definido valores predeterminados en el informe, puede establecer el valor del parámetro para que utilice la opción predeterminada.

Extensiones de entrega

Las suscripciones se procesan en el servidor de informes y se distribuyen mediante las extensiones de entrega implementadas en el servidor. De forma predeterminada, puede crear suscripciones que envían informes a una biblioteca compartida o a una dirección de correo electrónico. Si el servidor de informes está configurado para el modo integrado con SharePoint, también puede enviar un informe a una biblioteca de SharePoint.

Cuando un usuario crea una suscripción, puede elegir una de las extensiones de entrega disponibles para determinar cómo se entrega el informe. Reporting Services incluye las siguientes extensiones de entrega.

Extensión de entrega Descripción
Recurso compartido de archivos de Windows Entrega un informe como un archivo de aplicación estática a una carpeta compartida accesible en la red.
Correo electrónico Entrega una notificación o un informe como datos adjuntos de correo electrónico o como vínculo de dirección URL.
Biblioteca de SharePoint Entrega un informe como un archivo de aplicación estática a una biblioteca de SharePoint accesible desde un sitio de SharePoint. El sitio se debe integrar con un servidor de informes que se ejecuta en el modo integrado con SharePoint.
Null El proveedor de entrega NULL es una extensión de entrega muy especializada que se usa para cargar previamente una memoria caché con informes con parámetros listos para ver. Este método no está disponible para los usuarios en suscripciones individuales. La entrega NULL la usan los administradores en suscripciones controladas por datos para mejorar el rendimiento del servidor de informes, mediante una carga previa en la memoria caché.

Nota:

La entrega de informes es una parte extensible de la arquitectura de Reporting Services . Otros fabricantes pueden crear extensiones de entrega personalizadas para enrutar informes a distintas ubicaciones o dispositivos. Para obtener más información acerca de las extensiones de entrega personalizadas, vea Implementar una extensión de entrega.

Partes de una suscripción

Una definición de suscripción se compone de las siguientes partes:

  • Un puntero a un informe que se puede ejecutar en modo desatendido (es decir, un informe que usa credenciales almacenadas o que no usa ninguna credencial).

  • Un método de entrega (por ejemplo, correo electrónico) y una configuración para el modo de entrega (como una dirección de correo electrónico).

  • Una extensión de representación, para presentar el informe en un formato específico.

  • Condiciones para procesar la suscripción, que se expresa como un evento.

    Normalmente, las condiciones para ejecutar un informe se basan en el tiempo. Por ejemplo, puede que desee ejecutar un informe concreto todos los martes a las 15:00 (hora UTC). Sin embargo, si el informe se ejecuta como una instantánea, puede especificar que la suscripción se ejecute siempre que se actualice la instantánea.

  • Parámetros utilizados al ejecutar el informe.

    Los parámetros son opcionales y se especifican solo para informes que acepten valores de parámetros. Puesto que la suscripción suele ser propiedad de un usuario, los valores de parámetros que se especifiquen varían de una suscripción a otra. Por ejemplo, los directores de ventas de diferentes divisiones utilizarán parámetros que devuelvan datos para su división. Todos los parámetros deben tener un valor definido explícitamente o un valor predeterminado válido.

La información de suscripción se almacena con informes individuales en la base de datos del servidor de informes. No puede administrar suscripciones independientemente del informe al que estén asociadas. Las suscripciones no se pueden ampliar para incluir descripciones, otro texto personalizado u otros elementos. Las suscripciones solo pueden contener los elementos mencionados anteriormente.

Cómo se procesan las suscripciones

Reporting Services incluye el procesador de entrega y programación, que proporciona funcionalidad para programar informes y entregarlos a los usuarios. El servidor de informes responde a eventos que supervisa constantemente. Cuando se produce un evento que coincide con las condiciones definidas para una suscripción, el servidor de informes la lee para determinar cómo procesar y entregar el informe. El servidor de informes solicita la extensión de entrega que se especifica en la suscripción. Con la extensión de entrega en funcionamiento, el servidor de informes extrae la información de entrega de la suscripción y la envía a la extensión de entrega para su procesamiento.

La extensión de entrega representa el informe en el formato definido en la suscripción y después entrega el informe o la notificación al destino especificado. Si no se puede entregar un informe, se incluye una entrada en el archivo de registro del servidor de informes. Si desea permitir los reintentos, puede configurar el servidor de informes para que vuelva a intentar la entrega si el primer intento no tiene éxito.

Procesar una suscripción estándar

Las suscripciones estándar producen una instancia de un informe. El informe se entrega en una sola carpeta compartida o en las direcciones de correo electrónico especificadas en la suscripción. El diseño del informe y los datos no varían. Si el informe utiliza parámetros, las suscripciones estándar se procesan con un solo valor para cada parámetro del informe.

Procesamiento de una suscripción controlada por datos

Las suscripciones controladas por datos pueden producir varias instancias del informe, que se entregan a diversos destinos. El diseño del informe no cambia, pero los datos de un informe pueden variar si los valores de los parámetros se envían desde un conjunto de resultados de suscriptores. Opciones de entrega que afectan al modo en que se presenta el informe y a si éste se adjunta o se vincula al correo electrónico. Estas opciones también pueden variar de suscriptor a suscriptor cuando los valores se pasan desde el conjunto de filas.

Las suscripciones controladas por datos pueden producir un gran número de entregas. El servidor de informes crea una entrega por cada fila del conjunto de filas que devuelve la consulta de la suscripción.

Características de la entrega de informes

Los informes que se entregan mediante suscripciones estándar suelen representarse como informes estáticos. Estos informes se basan en la instantánea de ejecución de informes más reciente o se generan como informes estáticos a fin de completar una entrega. Si elige la opción Incluir vínculo en una suscripción a un informe que se ejecute a petición, el servidor de informes ejecutará el informe cuando seleccione el hipervínculo.

Nota:

Los informes que se entregan mediante una dirección URL permanecen conectados al servidor de informes y pueden actualizarse o eliminarse entre visualizaciones. Las opciones de entrega que elija para su suscripción determinarán si el informe se entrega como dirección URL, incrustado en el cuerpo de un mensaje de correo electrónico o enviado como dato adjunto.

Los informes que se entregan mediante una suscripción controlada por datos pueden volver a generarse mientras se procesa la suscripción. El servidor de informes no bloquea una instancia específica de un informe ni su conjunto de datos para completar una suscripción controlada por datos. Si la suscripción utiliza diferentes valores de parámetros para diferentes suscriptores, el servidor de informes vuelve a generar el informe para producir el resultado requerido. Es posible que los datos subyacentes se actualicen después de crear y entregar la primera copia del informe. Al actualizar el informe, los usuarios que obtienen informes más adelante en el proceso pueden ver los datos basados en un conjunto de resultados diferente. Puede utilizar un informe que se ejecute como instantánea para garantizar que se entrega la misma instancia del informe a todos los suscriptores. Sin embargo, si se genera una actualización programada de la instantánea mientras se procesa la suscripción, es posible que los usuarios sigan recibiendo diferentes datos en los informes.

Desencadenamiento del procesamiento de suscripciones

El servidor de informes utiliza dos tipos de eventos para desencadenar el procesamiento de suscripciones: un evento controlado por tiempo que se especifica en una programación o un evento de actualización de instantánea.

El desencadenador controlado por tiempo usa una programación específica del informe o una programación compartida para especificar cuándo se ejecuta una suscripción. En los informes a petición y en memoria caché, las programaciones son la única opción de desencadenamiento.

Un evento de actualización de instantánea utiliza la actualización programada de una instantánea de informe para desencadenar una suscripción. Puede definir una suscripción que se desencadene siempre que se actualice un informe con datos nuevos. La suscripción se desencadena en función de las propiedades de ejecución del informe que se establecen en el informe.

Control programático de suscripciones

El modelo de objetos de Reporting Services le permite auditar y controlar las suscripciones y el procesamiento de las suscripciones mediante programación. Consulte los siguientes artículos para obtener ejemplos y una introducción:

Crear una suscripción controlada por datos (Tutorial de SSRS)
Programaciones
Servidor de informes de Reporting Services (modo nativo)
Supervisión de suscripciones de Reporting Services