SQL Server Reporting Services


SQL Server Reporting Services (сокр. SSRS, рус. Службы отчётности SQL Server) — программная серверная система создания отчётов, разработанная корпорацией Microsoft. Она может быть использована для подготовки множества интерактивных и печатных отчётов. Система администрируется через веб-интерфейс. Reporting services используют интерфейс веб-служб для поддержки разработки обычных отчётных приложений.

SSRS соперничает с Crystal Reports и другими BI-инструментами, и входит в состав Express, Workgroup, Standard и Enterprise версий Microsoft SQL Server в качестве устанавливаемого дополнения. Reporting Services были впервые выпущены в 2004 году как дополнение для SQL Server 2000. Вторая версия была выпущена в виде составной части SQL Server 2005 в ноябре 2005 года. Следующая версия была выпущена как часть SQL Server 2008 в августе 2008.

В SSRS отчёты описываются при помощи Report Definition Language (RDL) на языке разметки XML. Отчёты могут проектироваться при помощи последних версий Microsoft Visual Studio (включая Visual Studio.NET 2003 и Visual Studio 2005) с входящим в них дополнением Business Intelligence Projects или при помощи входящего в комплект Report Builder — упрощённого инструмента, не предлагающего полного функционала Visual Studio. Отчёты, определённые при помощи RDL, могут создаваться во множестве различных форматов, включая Excel, PDF, CSV, XML, TIFF (и других графических форматах), а также HTML Web Archive. SQL Server 2008 SSRS также может подготавливать отчёты в формате Microsoft Word (DOC).

Сторонние генераторы отчётов предлагают возможность создания отчётов в дополнительных форматах.

Пользователи могут работать с веб-службой Report Server напрямую или использовать Report Manager — веб-приложение, взаимодействующее с веб-службой Report Server. При помощи Report Manager можно просматривать и управлять отчётами, так же как и управлять и оперировать источниками данных и настройками безопасности. Отчёты могут рассылаться по электронной почте или записываться на файловую систему как обычный файл. Защита выполняется на основе ролей и может накладываться на отдельные элементы, как например, отчёт или источник данных, каталог элементов или сайт вообще. Роли безопасности и права являются наследуемыми и могут быть переопределены.

В дополнение к использованию отдельного Report Server, поставляемого с SQL Server, RDL-отчёты можно просматривать при помощи веб-контрола ASP.NET ReportViewer или Windows Forms-контрола ReportViewer. Это позволяет встраивать отчёты прямо в веб-страницы или .NET-приложения. Контрол ReportViewer обрабатывает отчёты одним из двух способов: (a) на стороне сервера, где отчёт обрабатывается Report Server; и (b) локальная обработка, где соответствующий контрол самостоятельно обрабатывает RDL-файл.

SQL 2005 reporting services также поддерживает обработку произвольных отчётов: разработчик создает схему отчёта и развертывает её на сервере отчётности, где пользователь может выбирать нужные поля/данные и создавать отчёты в соответствии со своими нуждами. Потом пользователи могут загружать отчёты локально.