Поделиться через


Обработчик планирования и доставки

Службы SQL Server Reporting Services включают в себя обработчик планирования и доставки для поддержки запланированных действий и управления модулями доставки, использующихся для рассылки отчетов по электронным адресам или общим папкам назначения. Обработчик планирования и доставки выполняет следующие функции.

  • Обслуживает очередь событий и уведомлений. В масштабном развертывании очередь является общей для всех серверов отчетов конфигурации.
  • Обращается к обработчику отчетов для выполнения отчетов, обработки подписок или удаления кэшированных отчетов. Весь процесс обработки отчета, возникший в результате запланированного события, представлен службой сервера отчетов Windows, а не веб-службой сервера отчетов.
  • Вызывает модуль доставки, указанный в подписке, чтобы доставить отчет.

Другие аспекты расписаний и операций доставки обрабатываются другими компонентами и службами, которые взаимодействуют с обработчиком планирования и доставки отчетов. Обработчик планирования и доставки запускается в службе Windows сервера отчетов и пользуется агентом SQL Server как таймером для формирования запланированных событий. В следующем списке описано, как работают запланированные операции в развернутой службе Reporting Services.

  1. Запланированная операция определяется, когда пользователь создает расписание. Расписание определяет дату и время, когда будет запущен отчет, обновлен моментальный список или истечет срок действия кэша.
  2. Сервер отчетов сохраняет информацию расписания в базе данных сервера отчетов.
  3. Сервер отчетов создает соответствующее задание в агенте SQL Server и запускает его в соответствии с предоставленными сведениями расписания. Задания создаются с помощью хранимых процедур, используя существующее открытое соединение с базой данных сервера отчетов.
  4. Агент SQL Server запускает задание в указанные в расписании день и время. Задание создает событие, которое добавляется в очередь, поддерживаемую службой Reporting Services.
  5. Событие вызывает обработку отчета или подписки. События обрабатываются, когда они обнаружены в очереди, соответственно обрабатывается и доставляется отчет.

Службы Reporting Services поддерживают очередь событий для всех запланированных операций. Через регулярные интервалы времени производится опрос очереди для обнаружения новых событий. По умолчанию очередь просматривается с интервалом в 10 секунд. Можно изменить этот интервал, изменив настройки конфигурации PollingInterval, IsNotificationService и IsEventService в файле RSReportServer.config. Дополнительные сведения см. в разделе Файл конфигурации RSReportServer.

Серверные зависимости

Обработчик планирования и доставки требует запуска службы сервера отчетов Windows и агента SQL Server. Функции обработчика расписания и доставки должны быть активированы инструментом конфигурации контактной зоны SQL Server. Как агент SQL Server, так и служба сервера отчетов Windows должны быть запущены для формирования запланированных действий.

ms156297.note(ru-ru,SQL.90).gifПримечание.
Для временной или полной остановки формирования запланированных действий можно использовать инструмент конфигурации контактной зоны. Обработчик планирования и доставки не расширяется и не имеет настроек. Нельзя изменить его способ управления событиями и уведомлениями. Дополнительные сведения о средстве настройки контактной зоны см. в разделе Настройка контактной зоны SQL Server.

Последствия остановки работы агента SQL Server

Агент SQL Server используется по умолчанию для обработки запланированного отчета. При остановке службы никакие новые запросы обработки в очередь не добавятся, если только они не будут добавляться программно вызовом метода FireEvent. При перезагрузке службы возобновляются задания, создающие требования на обработку отчета. Сервер отчетов не пытается воссоздать задания обработки отчета, которые могли возникнуть, когда агент SQL Server находился в автономном режиме. Если агент SQL Server не будет работать неделю, то все запланированные на эту неделю действия будут утеряны.

ms156297.note(ru-ru,SQL.90).gifПримечание.
Функции, которые выполняет агент SQL Server для служб Reporting Services, могут быть заменены на пользовательский код, который вызывает метод FireEvent для добавления событий в очередь.

Последствия остановки службы сервера отчетов Windows

При остановке службы сервера отчетов Windows агент SQL Server продолжает добавлять требования на обработку отчета в очередь. Сведения о состоянии от агента SQL Server указывают на то, что задание успешно завершилось. Однако из-за того, что работа службы сервера отчетов Windows была остановлена, фактически обработка отчета не происходит. Запросы будут накапливаться в очередь до тех пор, пока служба сервера отчетов Windows не будет перезагружена. Как только служба сервера отчетов Windows будет перезагружена, все запросы на обработку отчета, находящиеся в очереди, начнут обрабатываться по очереди.

См. также

Основные понятия

Файл конфигурации RSReportServer
Запуск и остановка службы Windows сервера отчетов
Обзор компонентов служб Reporting Services

Другие ресурсы

Доставка отчетов через подписки
Планирование расписаний для отчетов и подписок

Справка и поддержка

Получение помощи по SQL Server 2005