SQL Server Reporting Services Installation (SSRS Native Mode)

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.

Disc-Image Bereitstellen - Kontextmenü

Systemkonfigurationsprüfung

Unter Planen > Systemkonfigurationsprüfung durchführen.

SQL Server 2012 - Installationscenter - Planen - Systemkonfigurationsprüfung Button

Sicherstellen, dass alle Setupunterstützungsregeln den Status „Erfolgreich“ haben.

SQL Server 2012 - Setup - Setupunterstützungsregeln

Neue eigenständige SQL Server-Installation

Unter Installation > Neue eigenständige SQL Server-Installation oder Hinzufügen von Funktionen zu einer vorhandenen Installation anklicken.

SQL Server 2012 - Installationscenter - Installation - Neue eigenständige SQL Server-Installation oder Hinzufügen von Funktionen zu einer vorhandenen Installation Button

Sicherstellen, dass alle Setupunterstützungsregeln den Status „Erfolgreich“ haben.

SQL Server 2012 - Setup - Neue eigenständige SQL Server-Installation - Setupunterstützungsregeln

Product Key eingeben:

SQL Server 2012 - Setup - 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.

SQL Server 2012 - Setup - Neue eigenständige SQL Server-Installation - Setupunterstützungsregeln - Windows-Firewall Warnung

Im Schritt „Setuprolle“ die Option SQL Server-Funktionsinstallation auswählen.

SQL Server 2012 - Setup - Setuprolle - SQL Server-Funktionsinstallation - Radio Button

Im Schritt „Funktionsauswahl“ folgende Optionen auswählen

  • Instanzfunktionen > Reporting Services – Systemeigen
  • Freigegebene Funktionen > Verwaltungstools – Einfach > Verwaltungstools – Vollständig

SQL Server Reporting Services Installation (SSRS Native Mode) - SQL Server 2012 - Setup - Funktionsauswahl - Instanzfunktionen - Reporting Services - Systemeigen - Freigegebene Funktionen - Verwaltungstools - Einfach - Verwaltungstools - Vollständig

Sicherstellen, dass alle „Installationsregeln“ den Status „Erfolgreich“ haben.

SQL Server 2012 - Setup - Installationsregeln - Status Erfolgreich

Im Schritt „Instanzkonfiguration“ wird die Option Standardinstanz mit der Instanz-ID „MSSQLSERVER“ ausgewählt

SQL Server 2012 - Setup - Instanzkonfiguration - Standardinstanz - MSSQLSERVER - Reporting Services-Verzeichnis

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„.

SQL Server 2012 - Setup - Serverkonfiguration - Dienstkonten - SQL Server Reporting Services - Kontoname, Kennwort

Im nächsten Schritt „Reporting Services-Konfiguration“ lässt sich nur die Option Nur installieren auswählen – der Rest ist ausgegraut.

SQL Server 2012 - Setup - Reporting Services-Konfiguration - Nur installieren

Sicherstellen, dass alle „Konfigurationsregeln für die Installation“ den Status „Erfolgreich“ haben.

SQL Server 2012 - Setup - Reporting Services - Konfigurationsregeln für die Installation - Status Erfolgreich

Überprüfen Sie die zu installierenden SQL Server 2012-Funktionen im Schritt „Installationsbereit“ und klicken Sie auf „Installieren

SQL Server 2012 - Setup - Installationsbereit - Überprüfen Sie die zu installierenden SQL Server 2012-Funktionen

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.

SQL Server 2012 - Reporting Services - Abgeschlossen - Zusammenfassungsprotokolldatei

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.

SSRS - Konfigurations-Manager für Reporting Services - Reporting Services Configuration Manager - Icon

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.

Konfigurations-Manager für Reporting Services - Konfigurationsverbindung für Reporting Services - Berichtsserverinstanz MSSQLSERVER

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.

SSRS - Konfigurations-Manager für Reporting Services - Reporting Services Configuration Manager - Berichtsserver-Datenbank - Datenbank ändern Button

Es öffnet sich der „Assistent zum Konfigurieren der Berichtsserver-Datenbank“. Hier wählen wir die Option Neue Berichtsserver-Datenbank erstellen aus.

SSRS - Konfigurations-Manager für Reporting Services - Assistent zum Konfigurieren der Berichtsserver-Datenbank - Neue Berichtsserver-Datenbank erstellen - Radio Button

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

SSRS - Konfigurations-Manager für Reporting Services - Assistent zum Konfigurieren der Berichtsserver-Datenbank - Datenbankserver - Verbindung mit dem Datenbankserver herstellen

Im nächsten Schritt muss der Datenbankname (z.B. „ReportSrv„) eingegeben werden. Es werden zwei Datenbanken mit diesem Namen erzeugt.

SSRS - Konfigurations-Manager für Reporting Services - Assistent zum Konfigurieren der Berichtsserver-Datenbank - Datenbankname - Name der temporären Datenbank

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.

SSRS - Konfigurations-Manager für Reporting Services - Assistent zum Konfigurieren der Berichtsserver-Datenbank - Datenbank ändern - Anmeldeinformationen

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.

SSRS - Konfigurations-Manager für Reporting Services - Assistent zum Konfigurieren der Berichtsserver-Datenbank - Fortsetzen und Fertigstellen

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.

SSRS - Konfigurations-Manager für Reporting Services - Reporting Services Configuration Manager - Webdienst-URL - ReportServer - IIS-Einstellungen

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

SSRS - Konfigurations-Manager für Reporting Services - Reporting Services Configuration Manager - Berichts-Manager-URL - Report Manager URL

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.

Berichts-Manager - Report Manager - Web-GUI - SQL Server Reporting Services - Stamm - Neue Datenquelle - Button

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.“

Berichts-Manager - Report Manager - Web-GUI - SQL Server Reporting Services - Neue Datenquelle - Verbindung testen Button - 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.

Berichts-Manager - Report Manager - Web-GUI - SQL Server Reporting Services - Stamm - Berichts-Generator - Report Builder - Button

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.

Berichts-Generator - Report Builder - Erste Schritte - Neuer Bericht - Tabellen- oder Matrix-Assistent - Button

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.

Berichts-Generator - Report Builder - Neue Tabelle oder Matrix - Dataset auswählen - Dataset erstellen

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.

Berichts-Generator - Report Builder - ReportServer - Datenquelle auswählen - Testdatenquelle - Öffnen Button

Berichts-Generator - Report Builder - ReportServer - Neue Tabelle oder Matrix - Verbindung mit einer Datenquelle auswählen - Weiter Button

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.

Berichts-Generator - Report Builder - Neue Tabelle oder Matrix - Abfrage entwerfen - Datenbankansicht - Ausgewählte Felder - Weiter Button

Im nächsten Fenster kann man die ausgewählten Felder anordnen und auf Weiter klicken.

Berichts-Generator - Report Builder - Neue Tabelle oder Matrix - Felder anordnen - Verfügbare Felder - Zeilengruppen - Spaltengruppen - Werte - Weiter Button

Nach dem Klicken auf „Weiter“ öffnet sich das Fenster um den Bericht zu speichern.

Namen vergeben und auf Speichern klicken.

Berichts-Generator - Report Builder - ReportServer - Neue Tabelle oder Matrix - RDL - Als Bericht speichern - Button

Nun kann man direkt aus dem Berichts-Manager den neuen Bericht aufrufen und begutachten.

Berichts-Manager - Report Manager - Web-GUI - SQL Server Reporting Services - Testordner - Testbericht öffnen

Berichts-Manager - Report Manager - Web-GUI - SQL Server Reporting Services - Testordner - Testbericht - Beispiel

 

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.

SSRS-Konfigurations-Manager-für-Reporting-Services-Assistent-zum-Konfigurieren-der-Berichtsserver-Datenbank-Fortsetzen-und-Fertigstellen - Skripts zum Erteilen von Rechten werden generiert - Fehler Link

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()

Assistent-zum-Konfigurieren-der-Berichtsserver-Datenbank-Fortsetzen-und-Fertigstellen - Skripts zum Erteilen von Rechten werden generiert - Fehler - Ausnahme bei Berichtsserverkonfiguration - Ausnahmedetails - Der angegebene Host ist unbekannt.png

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

Links

  1. systemcentercentral: SCOM 2012 – Side-by-Side Migration Phase 7 – Installing additional roles: Reporting
  2. Microsoft Dynamics GP Community: How To Configure SQL Server Reporting Services In Order To Deploy Reporting Services Reports In GP

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert