Dienstag, 20. Mai 2014

Freigegebene Datenquellen und Datasets richtig einsetzen

Reporting Services (SSRS) bieten ja die Möglichkeit, zwei unterschiedliche Entwicklungsumgebungen für Berichte zu verwenden:
  • Report Designer in Visual Studio (bzw. "Business Intelligence Studio" oder "Data Tools", wie es aus Marketinggründen heißt, wenn es mit SQL Server installiert wird)
  • Report Builder, den berechtigte Anwender selbst von SharePoint oder vom Report Manager herunterladen und nutzen können
Report Builder mit seiner an Office Anwendungen angelehnten Oberfläche für Fachanwender

Während Report Designer eher das Werkzeug für IT-Profis ist, soll der Office-ähnlich aufgemachte Report Builder Mitarbeitern in den Fachabteilungen die Möglichkeit geben, selbständig Berichte zu erstellen. Eine gute Ergänzung, die gleichermaßen der Forderung nach qualitätsgesicherten Standard-Berichten von der IT-Abteilung und dem Bedürfnis nach hoher Flexibilität für die Fachanwender gerecht wird.

Nun haben IT-Verantwortliche naturgemäß Schwierigkeiten damit, allen Anwender direkten Zugriff auf die Unternehmensdatenbanken zu gewähren. Das ist ja auch nachvollziehbar, denn in diesem Fall könnten einzelne Berichtsautoren durch (ungewollt) massive Datenbankabfragen die Verfügbarkeit für alle Anwender gefährden. Hier kommen freigegebene Datenquellen (shared data sources) und freigegebene Datasets (shared datasets) ins Spiel. Datenquellen enthalten die Verbindungszeichenfolge zu einer Datenbank (Server, Datenbank, Benutzername und Passwort), während Datasets die SQL Abfrage enthalten. Das ermöglicht eine klare Rollenverteilung:
  • Alle Anwender, die direkten Zugriff auf eine Datenbank haben, dürfen freigegebene Datenquellen und freigegebene Datasets hierfür erstellen und modifizieren.
  • Anwender, die keinen Zugriff auf eine Datenbank haben, können dennoch die freigegebenen Datenquellen und die freigegebenen Datasets in eigenen Berichten nutzen.
  • Wenn Anwender ohne Zugriff auf eine Datenbank versuchen, eine Datenquelle oder ein Dataset zu verändern, erhalten sie die Aufforderung, einen Datenbankbenutzer samt Passwort anzugeben.
Auf diese Weise ist sichergestellt, dass nur eingewiesene Programmierer die SQL Abfragen erstellen. Die IT Verantwortlichen behalten so die Kontrolle über die Art des Zugriffs auf die Datenbank. Gleichzeitig können Fachanwender auf Basis dieser Datasets ihre eigenen Berichte erstellen.

Wäre noch zu klären wie es sein kann, dass Fachanwender ohne direkten Datenbankzugriff dennoch über die vorhandenen Datenquellen und Datasets die Berichtsdaten abrufen können. Dazu muss ein Mitglied der Rolle "Content Manager" auf dem Report Manager den Eigenschaften-Dialog der Datenquelle öffnen.

Hier erhält die Datenquelle Zugriff auf die Datenbank

Der Benutzername und das Kennwort des hier angegebenen Benutzerkontos werden verschlüsselt auf dem Berichtsserver gespeichert. Bitte achten Sie darauf, hier einen technischen Benutzer und nicht die Anmeldeinformationen eines echten Mitarbeiters anzugeben, denn wenn dieser sein Kennwort ändert, dann funktioniert die Datenquelle nicht mehr.
Diese Funktionsweise von freigegebenen Datenquellen und Datasets ist unabhängig davon, ob Reporting Services im nativen Modus ("stand-alone") oder im SharePoint integrierten Modus laufen. Einziger Unterschied ist, dass im ersten Fall die Webanwendung "Berichts-Manager" den Speicherort für Quellen, Datasets und Berichte bereitstellt und im zweiten Fall SharePoint Bibliotheken diese Aufgabe übernehmen.