# SQL Server Reporting Services

SQL Server Reporting Services (SSRS) ist ein Server-basiertes Berichtgenerierungssystem von Microsoft. Es kann zur Vorbereitung und produktiven Erzeugung verschiedener Arten interaktiver oder vorgefertigter Berichte verwendet werden. Die Administration erfolgt über ein Webinterface. Reporting Services bietet eine Webservice-basierte Schnittstelle an, die die Entwicklung eigener Berichtsanwendungen unterstützt.

## Funktionsweise

SSRS steht in Konkurrenz zu Crystal Reports und anderen Business-Intelligence-Werkzeugen; es ist in den Express-, Workgroup-, Standard- und Enterprise-Editionen von Microsoft SQL Server als Installationsoption enthalten. Die erste Version erschien 2004 als Add-on zu SQL Server 2000.
In SSRS werden Berichte in der Report Definition Language (RDL), einer XML-Auszeichnungssprache definiert. Berichte können mit Microsoft Visual Studio durch die Installation des Business-Intelligence-Projects-Plug-ins entworfen werden; eine vereinfachte Möglichkeit, die nicht die volle Funktionalität von Visual Studio bietet, ist der mit dem Produkt gelieferte Report Builder. Auf der Basis der RDL-Texte können Berichte in einer Anzahl von Formaten erzeugt werden, darunter Excel, PDF, CSV, XML, TIFF und andere Bildformate, sowie als HTML-Webarchiv. SQL Server 2008 unterstützt auch das Microsoft-Word-Format (DOC). Weitere Ausgabeformate werden von Reportgeneratoren von Drittanbietern angeboten.
Benutzer können direkt mit dem Report-Server-Webservice arbeiten, oder stattdessen den Report Manager benutzen, eine Webanwendung, die ihrerseits mit dem Report Server kommuniziert. Mit Report Manager können Benutzer Reports ansehen und abonnieren sowie Reports, Datenquellen und Sicherheitseinstellungen verwalten. Reports können über E-Mail verschickt oder über freigegebene Ordner in ein Dateisystem gestellt werden. Die Sicherheit ist rollenbasiert und kann auf der Ebene der Einzelobjekte (Report, Datenquelle), von Ordnern solcher Objekte, oder global für alle Objekte definiert werden. Die Rollen können vererbt und überladen werden.
Reports können mit „Abonnements“ regelmäßig erzeugt werden. Eine Besonderheit sind die datengesteuerten Abonnements, die es erlauben, die Menge der zu erzeugenden Reports dynamisch mit ihren Parametern der Datenbank selbst zu entnehmen. (Auf diese Weise könnte man zum Beispiel die Aufgabe: Erzeuge für jeden Kunden, der im vorigen Monat etwas bestellt hat, einen Bericht und sende diesen Bericht an den für diesen Kunden zuständigen Sachbearbeiter realisieren).
Neben dem hier geschriebenen eigenständigen Modus kann der Report Server alternativ im Sharepoint-integrierten Modus betrieben werden. Hierbei übernimmt der Microsoft Office SharePoint Server die Verwaltung der Berichte und die Visualisierung innerhalb des Sharepoint-Portals.
Zusätzlich zum autonomen Report Server, der Teil der SQL-Server-Auslieferung ist, können RDL-Reports auch mit ReportViewer über das Web oder über Windows Forms betrachtet werden. Dadurch können Reports direkt in Webseiten oder .Net-Framework-Anwendungen eingebettet werden. ReportViewer kann Reports entweder über den Server, oder lokal verarbeiten.
Ad-hoc-Reports werden ab der Version 2005 unterstützt: Der Entwickler entwirft ein Reportschema und installiert es auf dem Reporting-Server, wo der Benutzer relevante Felder bzw. Datenelemente auswählen und so Reports generieren kann. Benutzer können die so entstandenen Reports lokal herunterladen.