Подписки и доставка (службы Reporting Services)

Подписка служб Reporting Services — это конфигурация, которая предоставляет отчет в определенное время или в ответ на событие. Он также находится в указанном формате файла. Например, каждую среду отчет MonthlySales.rdl можно сохранять в виде документа Microsoft Word на общем файловом ресурсе. С помощью подписок можно планировать и автоматизировать создание отчетов, в которых будет использоваться заданный набор значений параметров.

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

Diagram of an example SSRS subscription flow.

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

В этом разделе:

Разделы в этом разделе:

Сценарии подписки и доставки

Для каждой подписки расширение доставки, выбранное вами, определяет параметры доставки, которые можно настроить. Модуль доставки — это модуль, поддерживающий определенный способ распространения. Службы Reporting Services включают несколько расширений доставки и расширения доставки могут быть доступны сторонними поставщиками.

Если вы разработчик, вы можете создать пользовательские расширения доставки для поддержки других сценариев. Дополнительные сведения см. в разделе "Реализация модуля доставки".

В следующей таблице описаны распространенные сценарии подписки служб Reporting Services.

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

— XML-файл с данными отчета
— CSV (с разделителями-запятыми)
— PDF
— MHTML (веб-архив)
— Microsoft Excel
— TIFF-файл
— Microsoft Word

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

Стандартные и управляемые данными подписки

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

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

Требования к подписке

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

Требование Description
Разрешения Пользователь должен иметь доступ к отчету. Прежде чем можно будет подписаться на отчет, пользователь должен иметь разрешения на его просмотр.

Для серверов отчетов в основном режиме на подписки влияют следующие назначения ролей:

— задача «Управление отдельными подписками» дает возможность пользователям создавать, изменять и удалять подписки для конкретного отчета. Что касается стандартных ролей, эта задача входит в состав ролей «Браузер» и «Построитель отчетов». Назначения ролей, которые включают эту задачу, позволяют пользователю управлять только теми подписками, которые они создают.
— задача «Управление всеми подписками» дает возможность пользователям обращаться ко всем подпискам и изменять их. Эта задача необходима для создания подписок, управляемых данными. Из стандартных ролей эту задачу включает только роль «Диспетчер содержимого».
Сохраненные учетные данные Чтобы создать подписку, отчет должен использовать или не использовать сохраненные учетные записи для извлечения данных во время выполнения. Вы не можете подписаться на отчет, настроенный для использования олицетворенных или делегированных учетных данных текущего пользователя для подключения к внешнему источнику данных. Хранимые учетные данные могут быть или учетной записью Windows, или учетной записью базы данных. Дополнительные сведения см. в разделе "Указание учетных данных и сведений о подключении" для источников данных отчета

Для просмотра отчета и создания отдельных подписок необходимо иметь соответствующее разрешение. На сервере отчетов должны быть включеныЗапланированные события и доставка отчетов . Дополнительные сведения см. в статье "Создание подписок и управление ими для серверов отчетов в собственном режиме".
Зависящие от пользователя значения в отчете Только для стандартных подписок можно создавать подписки на отчеты, которые включают сведения пользовательской учетной записи в фильтре или как текст, появляющийся в отчете. В таком отчете имя учетной записи пользователя указывается через выражение User!UserID , которое разрешается в текущего пользователя. При создании подписки текущим считается пользователь, создающий эту подписку.
Отсутствие безопасности элементов модели Вы не можете подписаться на отчет построитель отчетов, использующий модель в качестве источника данных, если модель содержит параметры безопасности элемента модели. Только отчеты, использующие безопасность элементов модели отчета, входят в это ограничение.
Значения параметров Если отчет использует параметры, их значения должны быть заданы в самом отчете или в определяемой подписке. Если вы определяете значения по умолчанию в отчете, можно задать значение параметра для использования по умолчанию.

модули доставки;

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

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

Модуль доставки Description
Общая папка Windows; Доставляет отчет в виде статического файла приложения в общую папку, доступную в сети.
Эл. почта Доставляет уведомление или отчет в виде электронного вложения или URL-ссылки.
библиотека SharePoint Доставляет отчет в виде статического файла приложения в библиотеку SharePoint, доступную с сайта SharePoint. Этот сайт должен быть интегрирован с сервером отчетов, который выполняется в режиме интеграции с SharePoint.
Null Поставщик доставки null — это высоко специализированное расширение доставки, которое используется для предварительной загрузки кэша с готовыми к просмотру параметризованными отчетами. Этот метод недоступен пользователям в отдельных подписках. Отсутствующий поставщик доставки используется администраторами в управляемых данными подписках, чтобы улучшить работу сервера отчетов путем предварительной загрузки кэша.

Примечание.

Доставка отчетов — это расширяемая часть архитектуры служб Reporting Services. Сторонние поставщики могут создавать пользовательские модули доставки для направления отчетов в разные места или на разные устройства. Дополнительные сведения о пользовательских модулях доставки см. в разделе "Реализация модуля доставки".

Части подписки

Определение подписки состоит из следующих частей.

  • Указатель на отчет, который может запускаться автоматически (то есть отчет, использующий сохраненные учетные данные или не использующий их).

  • Метод доставки (например, электронная почта) и настройки для режима доставки (такие как почтовый адрес).

  • Модуль подготовки отчетов, чтобы представить отчет в указанном формате.

  • Условия для обработки подписки, которая представлена как событие.

    Обычно условия для выполнения отчета основаны на времени. Например, может потребоваться запустить определенный отчет каждый вторник в 3:00 вечера UTC. если отчет запускается как моментальный снимок, можно указать, что подписка запускается каждый раз, когда обновляется моментальный снимок.

  • Параметры, используемые при работе отчета.

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

Сведения о подписке сохраняются вместе с индивидуальными отчетами в базе данных сервера отчетов. Вы не можете управлять подписками отдельно от отчета, к которому они связаны. Подписки не могут быть расширены для включения описания, другого пользовательского текста или других элементов. Подписки могут содержать только элементы, перечисленные ранее.

Обработка подписок

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

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

Обработка стандартной подписки

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

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

Управляемые данными подписки могут формировать несколько экземпляров отчетов, которые доставляются по разным адресатам. Макет отчета не зависит, но данные в отчете могут отличаться, если значения параметров передаются из результирующий набор подписчика. Параметры доставки, влияющие на отрисовку отчета и присоединение или связывание отчета с электронной почтой. Эти параметры также могут отличаться от подписчика к подписчику, если значения передаются из набора строк.

Управляемые данными подписки могут создавать большое количество доставок. Сервер отчетов создает доставку для каждой строки из набора строк, возвращенного запросом подписки.

Характеристики доставки отчетов

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

Примечание.

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

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

Активация обработки подписки

Для запуска на сервере отчетов обработки подписки используются два типа событий: события, управляемые временем, которые запланированы в расписании, и события обновления моментального снимка.

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

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

Программное управление подписками

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

Создание подписки на основе данных (руководство по SSRS)
Расписания
Сервер отчетов служб Reporting Services (собственный режим)
Мониторинг подписок служб Reporting Services