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


Расписания в службах Reporting Services

Службы Reporting Services предоставляют общие расписания и расписания для конкретных отчетов, помогающие управлять обработкой и распределением отчетов. Разница между двумя типами расписаний заключается в том, как они определяются, хранятся и управляются. Внутреннее строение обоих типов расписаний одинаково. В каждом расписании указывается тип повторения: ежемесячно, еженедельно или ежедневно. В типе повторения необходимо задать интервалы и диапазон для частоты возникновения события. Шаблон типа повторения и способ его задания одинаков при создании как общих расписаний, так и расписаний для отчетов.

  • Общие расписания создаются в виде отдельных элементов. После создания вы ссылаетесь на них при определении подписки или другой запланированной операции.

  • Расписания, относящиеся к отчету, создаются при определении подписки или задания свойств выполнения отчета. Заполнение сведений о расписании является частью определения подписки или настройки свойств. Для определения расписания отчета откройте отчет или подписку, которая его использует.

Общее расписание содержит сведения о расписании и повторении, которые могут использовать любое количество опубликованных отчетов и подписок, выполняемых на сервере отчетов Служб Reporting Services. Если одновременно выполняется много отчетов и подписок, то для них можно создать общее расписание. Если вы хотите изменить шаблон повторения или дату окончания, можно внести изменения в одно место.

Общие расписания проще в обслуживании и обеспечивают большую гибкость при управлении запланированными операциями. Например, выполнение общего расписания можно приостанавливать и возобновлять. Слишком много запланированных операций может выполняться одновременно. Если они выполняются одновременно, можно создать несколько общих расписаний, которые выполняются в разное время. Затем настройте сведения о расписании до тех пор, пока загрузка обработки не будет равномерной на сервере отчетов.

Что можно сделать с расписаниями

Веб-портал служб Reporting Services и SQL Server Management Studio можно использовать в собственном режиме и на страницах администрирования сайтов SharePoint в режиме SharePoint для создания расписаний и управления ими. Вы можете:

  • запланировать доставку отчета в стандартной или управляемой данными подписке;

  • запланировать создание журнала отчета так, что новые моментальные снимки будут добавляться к журналу отчета через регулярные промежутки времени;

  • запланировать время обновления данных о моментальном снимке отчета;

  • запланировать время обновления данных общего набора данных;

  • Запланируйте истечение срока действия кэшированного отчета или общего набора данных в предопределенное время, чтобы его можно было обновить.

Можно создать общее расписание, если желательно использовать одни и те же данные расписания для нескольких отчетов или подписок. Общие расписания определяются по отдельности, после чего ссылки на них добавляются в отчеты, общие наборы данных и подписки, которым требуются сведения о расписании.

При создании расписания отчет сохраняет информацию в базе данных сервера отчетов или в режиме интеграции с SharePoint в базе данных приложения службы. Сервер отчетов также создает задание агент SQL Server, которое используется для активации расписания. Расписания обрабатываются на основе местного времени сервера отчетов, на котором они содержатся. Формат времени соответствует стандарту операционной системы Microsoft Windows.

Дополнительные сведения о создании и управлении расписаниями см. в статье "Создание, изменение и удаление расписаний".

Примечание.

Операции расписания недоступны в каждом выпуске SQL Server. Список функций, поддерживаемых выпусками SQL Server, см. в выпусках и поддерживаемых функциях SQL Server 2022.

Сравнение общих и конкретных расписаний отчетов

Оба типа расписаний дают одинаковые выходные данные:

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

    В отличие от расписаний, определяемых через свойства отчета, общего набора данных или подписки, общие расписания проще управляются и обслуживаются по следующим причинам.

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

    • Они позволяют быстро адаптироваться к изменениям в вычислительной среде. Например, предположим, что у вас есть набор отчетов, выполняемых в 4:00 после обновления хранилища данных. Если операция обновления данных отложена или расписание изменено, то легко учесть изменение, обновив сведения в одном общем расписании.

    • Если используются только общие расписания, то точно известно время выполнения запланированных операций. Эти знания упрощают прогнозирование и размещение нагрузки сервера до возникновения проблем с производительностью. Например, если резервное копирование компьютера запланировано на определенное время, то можно скорректировать общие расписания для запуска в другое время.

  • Расписания отчетов определяются в контексте отдельного отчета, подписки или операции выполнения отчета для определения момента истечения срока действия кэша или обновления моментальных снимков. Эти расписания создаются как встроенные при определении подписки или при установке свойств выполнения отчета. Можно создать расписание для конкретного отчета, если общее расписание не предоставляет необходимую частоту или шаблон повторения. Чтобы предотвратить запуск отчета, измените расписание для конкретного отчета вручную. Отдельные пользователи могут создавать расписания, относящиеся к отчету.

Настройка источников данных

Прежде чем запланировать обработку данных или подписки для отчета, настройте источник данных отчета для использования сохраненных учетных данных или учетной записи автоматической обработки отчетов. Если вы используете сохраненные учетные данные, вы можете хранить только один набор учетных данных, и они используются всеми пользователями, которые запускают отчет. Учетные данные могут быть или учетной записью Windows, или учетной записью базы данных.

Учетная запись автоматической обработки отчетов — это учетная запись специального назначения, настроенная на сервере отчетов. Сервер отчетов использует учетную запись для подключения к удаленным компьютерам, если запланированная операция требует извлечения внешнего файла или обработки. Если настроить учетную запись, можно использовать ее для соединения с внешними источниками данных, которые предоставляют данные в отчет.

Чтобы указать сохраненные учетные данные или учетную запись автоматической обработки отчета, измените свойства источника данных отчета. Если в отчете используется общий источник данных, то измените внешний источник данных.

Хранение учетных данных и учетных записей обработки

Как именно производится работа с расписанием, зависит от того, какие задачи входят в назначение ролей. Если вы используете предопределенные роли, пользователи, являющиеся диспетчерами содержимого и системными администраторами, могут создавать и управлять любым расписанием. Если используется пользовательское назначение ролей, то оно должно включать задачи, поддерживающие отложенные операции.

Для этого: Включите следующую задачу Стандартные роли собственного режима Группы для режима интеграции с SharePoint
Создать, изменить или удалить общее расписание Управление общими расписаниями Системный администратор Владельцы
Выбрать общее расписание Просмотр общих расписаний Системный пользователь Участники
Создать, изменить или удалить расписание отчета в пользовательской подписке Управление отдельными подписками браузер, построитель отчетов, «Мои отчеты», диспетчер содержимого Посетители, участники
Создать, изменить или удалить расписание отчета для всех остальных отложенных операций Управление журналом отчета, управление всеми подписками, управление отчетами Диспетчер содержимого Владельцы

Дополнительные сведения о безопасности в службах Reporting Services в собственном режиме см. в разделе "Определения ролей" — предопределенные роли, предоставление разрешений на сервер отчетов в собственном режиме и задачи и разрешения. Дополнительные сведения о режиме SharePoint см. в статье "Роли-задачи служб Reporting Services" и "Разрешения групп SharePoint"

Принцип работы планирования и обработки доставки

Обработчик планирования и доставки выполняет следующие функции.

  • Обслуживает очередь событий и уведомлений в базе данных сервера отчетов. В развертывании горизонтального масштабирования очередь разделяется на всех серверах отчетов в развертывании.

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

  • Вызывает модуль доставки, указанный в подписке, чтобы доставить отчет.

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

  1. Запланированная операция определяется, когда пользователь создает расписание. Расписание определяет дату и время, которое используется для активации подписки на доставку отчетов, обновления моментального снимка или истечения срока действия кэша.

  2. Сервер отчетов сохраняет информацию расписания в базе данных сервера отчетов.

  3. Сервер отчетов создает соответствующее задание агента SQL Server, включающее предоставленные сведения о расписании. Задания создаются с помощью хранимой процедуры и используют существующее открытое подключение к базе данных сервера отчетов.

  4. Агент SQL Server запускает задание в указанные в расписании день и время. Задание создает событие, которое добавляется в очередь, поддерживаемую службой Reporting Services.

  5. Событие вызывает обработку отчета или подписки. События обрабатываются при обнаружении в очереди, а отчет обрабатывается или передается соответствующим образом.

    Перед обработкой событий обработчик планирования и доставки выполняет проверку подлинности, чтобы удостовериться, что владелец подписки имеет разрешение для просмотра отчета.

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

Зависимости сервера

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

Примечание.

Для временной или полной остановки формирования запланированных действий можно использовать аспект Настройка контактной зоны для служб Reporting Services . Можно создать и развернуть пользовательские модули доставки, но сам обработчик планирования и доставки не является расширяемым. Нельзя изменить его способ управления событиями и уведомлениями. Дополнительные сведения об отключении функций см. в разделе " Запланированные события" и "Доставка".

Остановка агента SQL Server

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

Примечание.

Функции, которые выполняет агент SQL Server для служб Reporting Services, могут быть заменены на пользовательский код, который вызывает метод FireEvent для добавления событий в очередь.

Остановка службы сервера отчетов

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