Procesador de entrega y programación
SQL Server Reporting Services incluye el componente Procesador de entrega y programación, para permitir operaciones programadas y controlar las extensiones de entrega utilizadas para insertar informes en buzones de correo electrónico o en destinos de carpetas compartidas. El Procesador de entrega y programación ofrece las siguientes funcionalidades:
- Mantiene una cola de eventos y notificaciones. En una implementación escalada, la cola se comparte en todos los servidores de informes de la implementación.
- Llama al Procesador de informes para ejecutar informes, procesar suscripciones o borrar informes de la memoria caché. Todo procesamiento de informes que es consecuencia de un evento de programación se efectúa mediante el servicio Windows del Servidor de informes y no con el servicio Web del Servidor de informes.
- Llama a la extensión de entrega especificada en una suscripción para que el informe se pueda entregar.
Otros componentes y servicios que funcionan con el Procesador de entrega y programación controlan otros aspectos de la operación de programación y entrega. En concreto, el Procesador de entrega y programación se ejecuta en el servicio Servidor de informes de Windows y utiliza al Agente SQL Server como temporizador para generar eventos programados. En la siguiente lista se describe el funcionamiento de las operaciones programadas en una implementación de Reporting Services:
- Las operaciones programadas se definen cuando un usuario crea una programación. En la programación se definen la fecha y hora en que se ejecutará un informe, se actualizará una instantánea o caducará una memoria caché.
- El servidor de informes guarda la información de programación en su base de datos.
- El servidor de informes crea un trabajo correspondiente en el Agente SQL Server y lo ejecuta en la información de programación facilitada. Los trabajos se crean gracias a un procedimiento almacenado, mediante la conexión abierta existente con la base de datos del servidor de informes.
- El Agente SQL Server ejecuta el trabajo en la fecha y hora especificadas en la programación. El trabajo crea un evento que se agrega a una cola que mantiene Reporting Services.
- El evento hace que se produzca un proceso de informe o suscripción. Los eventos se procesan cuando son detectados en la cola; el informe se procesa o entrega en consecuencia.
Reporting Services mantiene una cola de eventos para todas las operaciones programadas. La sondea a intervalos regulares para detectar nuevos eventos. De forma predeterminada, la cola se recorre a intervalos de 10 segundos. Es posible cambiar el intervalo si se modifican los valores de configuración PollingInterval, IsNotificationService e IsEventService del archivo RSReportServer.config. Para obtener más información, vea Archivo de configuración RSReportServer.
Dependencias de servidor
El Procesador de entrega y programación requiere que se hayan iniciado el servicio Windows del Servidor de informes y el Agente SQL Server. La característica de Procesador de entrega y programación se debe habilitar a través de la herramienta de configuración de superficie de SQL Server. Tanto el Agente SQL Server como el servicio Windows del Servidor de informes deben estar en ejecución para que se puedan realizar las operaciones programadas.
[!NOTA] Se puede utilizar la herramienta de configuración de superficie para detener operaciones programadas de manera temporal o permanente. El Procesador de entrega y programación no es extensible y no tiene parámetros de configuración. No se puede cambiar el modo en que administra eventos y notificaciones. Para obtener más información acerca de la herramienta de configuración de superficie, vea Configuración de superficie de SQL Server.
Efectos de detener el Agente SQL Server
Para procesar informes programados, se utiliza de forma predeterminada el Agente SQL Server. Si se detiene el servicio, las nuevas solicitudes de procesamiento sólo se pueden agregar a la cola mediante programación con el método FireEvent. Cuando se reinicia el servicio, se reanudan los trabajos que crean solicitudes de procesamiento de informes. El servidor de informes no trata de volver a crear trabajos de procesamiento de informes que pudieran haberse producido en el pasado, mientras el Agente SQL Server estaba desconectado. Si se detiene el Agente SQL Server durante una semana, todas las operaciones programadas se pierden para esa semana.
[!NOTA] La funcionalidad que proporciona el Agente SQL Server a Reporting Services se puede reemplazar con código personalizado que utilice el método FireEvent para agregar eventos de programación a la cola.
Efectos de detener el servicio Windows del Servidor de informes
Si se detiene el servicio Windows del Servidor de informes, el Agente SQL Server sigue agregando solicitudes de procesamiento de informes a la cola. La información de estado del Agente SQL Server indica que el trabajo concluyó correctamente. No obstante, puesto que se ha detenido el servicio Windows del Servidor de informes, en realidad no se produce el procesamiento de informes. Las solicitudes se siguen acumulando en la cola hasta que se reinicia el servicio Windows del Servidor de informes. Una vez reiniciado este servicio, todas las solicitudes de procesamiento de informes existentes en la cola se procesan por orden.
Vea también
Conceptos
Archivo de configuración RSReportServer
Iniciar y detener el servicio de Windows del servidor de informes
Información general de componentes de Reporting Services
Otros recursos
Entregar informes mediante suscripciones
Programar informes y suscripciones