Einleitung
In dieser Anleitung wird eine SQL Server Reporting Services Installation (SSRS Native Mode) und Beispielkonfiguration durchgeführt.
Dabei wird die SSRS Instanz auf einem dedizierten Reporting-Server (SSRS ist nicht Clusterfähig) und die dazugehörigen DBs auf einer MSSQL-Cluster-Instanz eingerichtet.
Anschließend wird ein Beispielbericht generiert, um die Funktionsfähigkeit des SSRS zu testen.
Ist-Zustand
- DB-Cluster-Instanz für SSRS-DBs:
my-ssrs-dbclstr.domain.de:1234
- SSRS-Server:
my-ssrs-srv01.domain.de
Dementsprechend werden später die URLs für den Zugriff folgendermaßen lauten:
- Berichts-Manager:
http://my-ssrs-srv01.domain.de/reportserver
- Berichtsserver:
http://my-ssrs-srv01.domain.de/reports
Für die Installation wird folgende SQL-Server Version benutzt: „de_sql_server_2012_enterprise_edition_with_sp1_x64“
Voraussetzungen für die SQL Server Reporting Services Installation
Allgemein
- Windows Server 2008 R2 SP1 64-Bit
- Datenbank und Reporting muss mind. ein SQL Server 2008 SP1, 2008 R2 oder 2008 R2 SP1 sein
- Remote Registry service muss aktiviert sein
- Nicht den SharePoint integrated mode installieren
- .NET Framework 3.5 SP1 und .NET Framework 4
Netz
Die Firewalls müssen folgendermaßen geöffnet werden
Quelle | Ziel |
Report-Server | Report-DB-Server |
Report-Server | DB-Server von dem die Quelldaten für die Reports verwendet werden |
Dienstkonto
Für die SQL Server Reporting Services (SSRS Native Mode) Installation bzw. für den SSRS-Dienst wird ein Dienstkonto benötigt.
Es ist möglich den Berichtsserver-Dienst zur Ausführung unter einem der folgenden Kontotypen zu konfigurieren:
- Windows-Benutzerkonto mit minimalen Privilegien
- NetworkService
- LocalSystem
- LocalService
Es gibt nicht den einen idealen Ansatz zum Auswählen eines Kontotyps. Jedes Konto hat Vor- und Nachteile, die man berücksichtigen sollte. Wenn Reporting Services auf einem Produktionsserver bereitgestellt wird, empfiehlt es sich, den Dienst für ein Domänenbenutzerkonto zu konfigurieren. Auf diese Weise kann man schwere Schäden vermeiden, wenn sich Dritte unbefugten Zugriff auf ein freigegebenes Konto verschaffen. Dies erleichtert ferner die Überwachung der Anmeldeaktivitäten für dieses Konto. Wenn ein Windows-Benutzerkonto verwendet und Reporting Services in einem Netzwerk mit Kerberos-Authentifizierung verwendet wird, so ist eine Registrierung des Diensts für das Benutzerkonto erforderlich.
Dienstkonto im AD
In unserem Fall wird der Dienst zukünftig unter einem AD-Benutzer ausgeführt. Deshalb wird ein neues Benutzerobjekt im AD mit dem Namen „SSRSDienstkonto
“ angelegt.
SQL Server Reporting Services Installation
SQL Server Setup
Den SQL-Server Datenträger einlegen oder das Image bereitstellen und die Installation ausführen.
Systemkonfigurationsprüfung
Unter Planen > Systemkonfigurationsprüfung durchführen.
Sicherstellen, dass alle Setupunterstützungsregeln den Status „Erfolgreich“ haben.
Neue eigenständige SQL Server-Installation
Unter Installation > Neue eigenständige SQL Server-Installation oder Hinzufügen von Funktionen zu einer vorhandenen Installation anklicken.
Sicherstellen, dass alle Setupunterstützungsregeln den Status „Erfolgreich“ haben.
Product Key eingeben:
Sicherstellen, dass alle Setupunterstützungsregeln (außer Windows-Firewall) den Status „Erfolgreich“ haben. Die Windows-Firewall müssen wir später manuell konfigurieren und die benötigten Ports öffnen.
Im Schritt „Setuprolle“ die Option SQL Server-Funktionsinstallation auswählen.
Im Schritt „Funktionsauswahl“ folgende Optionen auswählen
- Instanzfunktionen > Reporting Services – Systemeigen
- Freigegebene Funktionen > Verwaltungstools – Einfach > Verwaltungstools – Vollständig
Sicherstellen, dass alle „Installationsregeln“ den Status „Erfolgreich“ haben.
Im Schritt „Instanzkonfiguration“ wird die Option Standardinstanz mit der Instanz-ID „MSSQLSERVER“ ausgewählt
Im Schritt „Serverkonfiguration“ > Tab „Dienstkonten“ geben wir nun das am Anfang erstellte AD-Dienstkonto mit dem dazugehörigen Kennwort für den Dienst „SQL Server Reporting Services“ ein. In diesem Fall wäre der Kontoname „Domäne\SSRSDienstkonto
„.
Im nächsten Schritt „Reporting Services-Konfiguration“ lässt sich nur die Option Nur installieren auswählen – der Rest ist ausgegraut.
Sicherstellen, dass alle „Konfigurationsregeln für die Installation“ den Status „Erfolgreich“ haben.
Überprüfen Sie die zu installierenden SQL Server 2012-Funktionen im Schritt „Installationsbereit“ und klicken Sie auf „Installieren“
Wenn die Installation abgeschlossen ist, werden die Informationen zum Setupvorgang als Zusammenfassung angezeigt.
Falls während der Installation der Reporting Services Fehler aufgetreten sind, so kann man die Details dazu in der ganz unten gezeigten Zusammenfassungsprotokolldatei finden.
Konfiguration
Konfigurations-Manager für Reporting Services
Der Report-Server kann mit Hilfe des „Konfigurations-Manager für Reporting Services“ konfiguriert werden.
Dazu muss auf dem Server der Konfigurations-Manager für Reporting Services (bzw. auf den Englischen Systemen der „Reporting Services Configuration Manager“) aus dem Startmenü aufgerufen werden.
Verbinden
Nach dem Start des „Konfigurationsverbindung für Reporting Services“ die Verbindung mit dem Reporting-Server herstellen, indem im Fenster „Konfigurationsverbindung für Reporting Services“ der „Servername:“ (hier my-ssrs-srv01
) und „Berichtsserverinstanz:“ (hier die Standardinstanz MSSQLSERVER
) eingegeben werden.
Datenbank konfigurieren
Um die Datenbanken des Reporting Services zu konfigurieren, auf der linken Seite den Reiter Datenbank auswählen und den Button Datenbank ändern betätigen.
Es öffnet sich der „Assistent zum Konfigurieren der Berichtsserver-Datenbank“. Hier wählen wir die Option Neue Berichtsserver-Datenbank erstellen aus.
Da wir die SSRS-DBs nicht auf dem SSRS-Server sondern auf dem MSSQL-DB-Cluster haben wollen, müssen wir im nächsten Schritt den Servernamen ändern, indem wir den DB-Cluster-Instanznamen mit dem entsprechenden Port in der Form <FQDN-Name der DB-Instanz>,<Port>
eingeben.
Hinweis: An dieser Stelle ist die Benutzung eines SQL-Aliases nicht möglich! |
In unserem Fall wäre der Servername: my-ssrs-dbclstr.domain.de,1234
Im nächsten Schritt muss der Datenbankname (z.B. „ReportSrv
„) eingegeben werden. Es werden zwei Datenbanken mit diesem Namen erzeugt.
Im nächsten Schritt „Anmeldeinformationen“ müssen Benutzername und Kennwort für die Verbindung zu den Reporting-Server Datenbanken eingegeben werden. Dieses Benutzerkonto wird automatisch für den Zugriff auf die SSRS-DBs berechtigt.
Im nächsten Schritt „Zusammenfassung“ wird die Liste der vorgenommenen Einstellungen angezeigt.
Der Schritt „Fortsetzen und Fertigstellen“ zeigt einige Jobs, die durchgeführt wurden. Mit dem Button Fertig stellen beendet man schließlich den Assistenten zum Konfigurieren der Berichtsserver-Datenbank.
Falls hier beim Punkt „Skripts zum Erteilen von Rechten werden generiert“ ein Fehler angezeigt wird, dann finden Sie ganz unten im Bereich „Fehler und Lösungen“ in diesem Artikel eine mögliche Lösung des Problems.
Webdienst-URL (ReportServer)
Nach dem aktivieren des Reiters Webdienst-URL kann man die (IIS-)Parameter für den Report-Server konfigurieren.
Die Standardangabe im Feld „Virtuelles Verzeichnis“ ist ReportServer
. Diese Angabe ist später in der URL enthalten, über die der Berichtsserver angesprochen wird.
Für die produktiv laufenden Systeme empfiehlt sich die Konfiguration des SSL. In unserem Beispiel ist es nicht der Fall.
Im Feld „URLs für Berichtsserver-Webdienst“ ist die URL (in dieser Form „http(s)://<SSRS-Server>:<TCP-Port>/<Virtuelles Verzeichnis>
„) zu sehen. In unserem Beispiel wäre die URL: http://my-ssrs-srv01:80/ReportServer
Sind alle Angaben getätigt, bzw. will man die Standardangaben übernehmen, so muss man den Button Anwenden klicken! Ansonsten ist der Server nicht zu Ende konfiguriert.
Berichts-Manager-URL
Im Reiter Berichts-Manager-URL (Report Manager URL) können die Angaben für den Zugriff auf die Management-Web-GUI des SSRS gemacht werden.
Die Management-Web-GUI ermöglicht einem Admin später beispielsweise das Erstellen der Unterordner für unterschiedliche Dienste (z.B. SCOM etc.), die den Report-Server für das Ausliefern der Berichte benutzen wollen. Auch die Berechtigungssteuerung und Datenquellenerzeugung ist per Berichts-Manager-URL möglich.
Die Standardangabe im Feld „Virtuelles Verzeichnis“ ist hier Reports
. Diese Angabe ist später in der URL enthalten, über die die Management-Web-GUI aufgerufen wird.
In der Zeile „URLs:“ ist die URL (in dieser Form „http(s)://<SSRS-Server>:<TCP-Port>/<Virtuelles Verzeichnis>
„) zu sehen. In unserem Beispiel wäre die URL: http://my-ssrs-srv01:80/Reports
Sind alle Angaben getätigt, bzw. will man die Standardangaben übernehmen, so muss man auch in diesem Fall den Button Anwenden klicken! Ansonsten ist der Server nicht zu Ende konfiguriert.
Damit ist der Reporting-Server funktional konfiguriert und benutzbar.
Windows-Firewall
Auf dem Server, auf dem wir den SQL Server Reporting Services (SSRS) installiert haben, wird die Windows-Firewall nicht automatisch für den eingehenden Netzverkehr geöffnet, sodass wir die nötigen Einstellungen per Hand einrichten müssen (das signalisierte uns auch die Warnung bei der Installation des SSRS).
Dazu muss in unserem Fall Port 80 für den eingehenden Netzverkehr freigeschaltet sein.
Tests der SQL Server Reporting Services Installation
Webdienst-URL (ReportServer) aufrufen
Die Webdienst-URL im Browser aufrufen, und somit testen, ob die ReportServer-Site vom IIS fehlerfrei ausgeliefert und die URL des ReportServers erreichbar ist.
In unserem Fall ist die Webdienst-URL: http://my-ssrs-srv01:80/ReportServer
Berichts-Manager-URL aufrufen
Die Berichts-Manager-URL im Browser (als Admin) aufrufen und testen, ob die Management-Site angezeigt werden kann.
In unserem Beispiel wäre die Berichts-Manager-URL: http://my-ssrs-srv01:80/Reports
Datenquelle anlegen
Hinweis: Für die nächsten Schritte wird eine vorhandene mit den Daten gefüllte Datenquelle (z.B. eine SQL-DB-Tabelle) benötigt. |
Nach dem öffnen der Berichts-Manager-Site im Browser, landet man im Stamm-Verzeichnis des Reporting Services Servers. Es stehen verschiedene Aktionen zur Verfügung wie „Neuer Ordner“, „Neue Datenquelle“, „Berichts-Generator“, „Ordnereinstellungen“ und „Datei hochladen“.
Um eine neue Datenquelle anzulegen und somit die Verbindung des SSRS-Servers zu den Datenquellen zu testen, in der oberen Leiste auf den Link „Neue Datenquelle“ klicken.
Hier kann man nun die Eigenschaften der Verbindungsdatei eingeben und die Verbindung zur Datenquelle testen.
Die Verbindungszeichenfolge hat folgende Syntax:
Data source = <DB-Server oder SQL-Alias> ; Initial Catalog = <DB-Name>
Falls die Angaben richtig sind und die Datenquelle erreichbar ist, dann wird nach dem Klicken auf den Button „Verbindung testen“ die Meldung „Die Verbindung wurde erfolgreich hergestellt.“
Bericht generieren
Die Berichts-Manager-URL im Browser aufrufen.
Nach dem öffnen der Berichts-Manager-Site im Browser, landet man im Stamm-Verzeichnis des Reporting Services Servers. Es stehen verschiedene Aktionen zur Verfügung wie „Neuer Ordner“, „Neue Datenquelle“, „Berichts-Generator“, „Ordnereinstellungen“ und „Datei hochladen“.
Um nun einen Testbericht zu generieren, müssen wir in der oberen Leiste auf „Berichts-Generator“ klicken.
Der „Report Builder“ startet.
Hier kann man nun als Beispiel unter Neuer Bericht > Tabellen- oder Matrix-Assistent die Erstellung eines Tabellenberichtes mit dem Assistenten starten.
Im nächsten Schritt kann man ein vorhandenes Dataset auswählen oder ein neues erstellen.
Ein Dataset enthält nicht nur die Verbindungsinformationen, sondern auch Abfragekommandos, Feldersammlungen, Parameter und Filter für den Bezug der externen Daten.
In unserem Fall wählen wir die Option „Dataset erstellen“ und klicken auf Weiter.
Im Fenster „Verbindung mit einer Datenquelle auswählen“ kann man entweder eine neue Datenquelle erstellen, oder eine vorhandene Datenverbindung auswählen, indem man auf den Button „Durchsuchen…“ klickt und eine vorher erstellte Datenverbindung auswählt.
Im nächsten Schritt können wir unsere Abfrage entwerfen, indem wir die von uns benötigten Tabellen und Felder auswählen, Filter anwenden und auf Weiter klicken.
Im nächsten Fenster kann man die ausgewählten Felder anordnen und auf Weiter klicken.
Nach dem Klicken auf „Weiter“ öffnet sich das Fenster um den Bericht zu speichern.
Namen vergeben und auf Speichern klicken.
Nun kann man direkt aus dem Berichts-Manager den neuen Bericht aufrufen und begutachten.
Hinweis: Für das Erstellen von bzw. Arbeiten mit Reports im Visual Studio, wird die Installation von SSDT benötigt. |
Fehler und Lösungen
Skripts zum Erteilen von Rechten werden generiert – Fehler
Beim Konfigurieren der Datenbank wird im Fenster „Assistent zum Konfigurieren der Berichtsserver-Datenbank“ bzw. „Datenbank ändern“ im letzen Schritt „Fortsetzen und Fertigstellen“ in der Zeile „Skripts zum Erteilen von Rechten werden generiert.“ ein „Fehler“ angezeigt.
Klickt man auf den Link „Fehler“, dann wird das Fenster „Ausnahme bei Berichtsserverkonfiguration“ mit folgenden Ausnahmedetails angezeigt:
System.Net.Sockets.SocketException: Der angegebene Host ist unbekannt bei System.Net.Dns.GetAddrInfo(String name) bei System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) bei System.Net.Dns.GetHostEntry(String hostNameOrAddress) bei ReportServicesConfigUI.RSDatabase.IsLocalDbServer(String dbServer) bei ReportServicesConfigUI.RSDatabase.GrantRSConnectionRights() bei ReportServicesConfigUI.RSDatabase.CreateNewDatabase()
System.Net.Sockets.SocketException: Der angegebene Host ist unbekannt
Lösung
Wahrscheinlich wurde hier ein SQL-Alias benutzt. Die Benutzung der SQL-Aliase wird an der Stelle offensichtlich nicht unterstützt.
Bei uns war die Lösung anstatt des SQL-Aliases den DNS-Namen mit dazugehörigem Port in dieser Form zu verwenden:
my-db-server.domain.de,1234