SQL Server Reporting Services
SQL Server Reporting Services (SSRS) — серверная система генерации отчётов, разработанная компанией Microsoft. Является частью пакета сервисов Microsoft SQL Server, наряду с SSAS (SQL Server Analysis Services) и SSIS (SQL Server Integration Services).
Управление осуществляется через веб-интерфейс, что позволяет создавать и предоставлять различные интерактивные и печатные отчёты. Сервис SSRS предоставляет интеграцию с Microsoft Visual Studio для разработчиков и администраторов SQL: они могут подключаться к базам данных и использовать инструменты SSRS для создания отчётов с широкими возможностями форматирования. Для менее технических пользователей предлагается инструмент Report Builder, который позволяет создавать простые отчёты без программирования.
SSRS конкурирует с Crystal Reports и другим программным обеспечением бизнес-аналитики.
Общие сведения
| SQL Server Reporting Services | |
|---|---|
| Тип | серверная система генерации отчётов |
| Разработчик | Microsoft |
| Операционная система | Windows |
| Первый выпуск | 2004 |
| Лицензия | проприетарная |
| Сайт | microsoft.com/sqlserver/… |
История
Reporting Services впервые был выпущен в 2004 году как дополнение к SQL Server 2000. Последующие версии включают:
- Вторая версия — с SQL Server 2005 (ноябрь 2005)
- Третья версия — в составе SQL Server 2008 R2 (апрель 2010)
- Четвертая версия — в составе SQL Server 2012 (март 2012)
- Пятая версия — в составе SQL Server 2014 (март 2014)
- Шестая версия — в составе SQL Server 2016 (март 2016)
- Седьмая версия — в составе SQL Server 2017 (октябрь 2017)
- Восьмая версия — в составе SQL Server 2019 (ноябрь 2019)
Пакетирование
- В редакциях Microsoft SQL Server Developer, Standard и Enterprise SSRS включен как опция установки.
- Бесплатная версия SQL Server Express содержит урезанный вариант[1].
Использование
SQL Server Data Tools for Business Intelligence (SSDT BI) преобразует компонент RDL (Report Definition Language) в графические элементы в интерфейсе пользователя. Таким образом, вместо написания кода пользователь может с помощью drag-and-drop создавать отчёты SSRS из готовых блоков.
Отчёты, определяемые через RDL, могут быть экспортированы в различные форматы[2], включая Excel, PDF, CSV, XML, TIFF (и другие графические форматы[3]) и HTML Web Archive. В версиях SQL Server 2008 и 2012 возможен экспорт отчётов также в формат Microsoft Word (DOC), а сторонние генераторы могут поддерживать дополнительные форматы.
Пользователи могут работать с веб-службой Report Server напрямую либо через Report Manager — веб-приложение с графическим интерфейсом, взаимодействующим с Report Server. В Report Manager можно просматривать, подписываться и управлять отчётами, а также настраивать источники данных и параметры безопасности. Также Report Manager может отправлять отчёты по электронной почте или размещать их на сетевых ресурсах.
Безопасность реализована на основе ролевой модели и может назначаться на отдельные элементы — отчёты, источники данных, папки или применяться ко всему серверу. Права доступа наследуются, но могут быть переопределены.
Обычно отчёты доступны только пользователям, имеющим разрешение на их запуск, причем соединения с базой SQL могут использовать учётные данные запускателя с соответствующими правами. Настройка работы с аутентификацией Windows — трудоемкая задача: требуется создать SPN в Active Directory (что требует прав администратора домена), соответствующим образом настроить службу и пользователя, разрешить делегирование, включить поддержку Kerberos на сервере отчётов и в конечном итоге ограничить просмотр данных на основании SQL-безопасности.
RDL-отчёты можно просматривать через отдельный Report Server, входящий в состав Microsoft SQL Server, с помощью веб-компонента ReportViewer для ASP.NET или ReportViewer для Windows Forms. Последний вариант позволяет встраивать отчёты непосредственно в веб-страницы или приложения .NET Framework. Компонент ReportViewer может работать в двух режимах — с обработкой на сервере (Report Server рендерит отчёт) или локальной обработкой (рендеринг RDL-файла непосредственно компонентом).
SQL Server Reporting Services поддерживает также произвольные («ad hoc») отчёты: разработчик создает схему отчёта и публикует её на сервере, где пользователь выбирает интересующие поля/данные для построения собственного отчёта, а затем может скачать результат локально.
Начиная с Microsoft SQL Server 2012 SP1, компания Microsoft обеспечивает просмотр отчётов с мобильных устройств, включая Microsoft Surface, Apple iOS 6 и Windows Phone 8[4].
Power BI Report Builder
Power BI Report Builder — вариант приложения SSRS для построения страничных отчётов[5], обладающий дополнительными функциями и брендированный под платформу Power BI. Это приложение (не путать с Report builder, отдельным инструментом SSRS) создает отчёты в формате RDL (.rdl-файлы, аналогично SSRS), в отличие от интерактивных .pbix-файлов стандартных отчетов Power BI (создаваемых, например, в Power BI Desktop). Одной из причин появления SSRS для Power BI считают устранение недостатков текущего набора Power BI в части контроля за разметкой, форматированием и печатью отчетов либо консолидацию продуктов отчетности Microsoft под маркой Power BI. Как и обычные отчеты Power BI, страничные отчеты можно публиковать в Power BI Service и подключать к общедоступным датасетам Power BI. Разрабатывать отчеты с помощью Power BI Report Builder можно бесплатно локально, в то время как публикация в Power BI Service требует премиум-подписки на рабочую область Power BI[5]. Отчеты SSRS можно переносить в Power BI с помощью Power BI Report Builder[6].
Примечания
Ссылки
- https://www.microsoft.com/sqlserver/en/us/solutions-technologies/business-intelligence/reporting-services.aspx — домашняя страница Microsoft SQL Server Reporting Services
- https://msdn.microsoft.com/en-us/sqlserver/cc511478.aspx — ресурсы по Microsoft SQL Server Reporting Services