Skripts für Bereitstellungs- und Verwaltungsaufgaben

Reporting Services unterstützt die Verwendung von Skripts, um routinemäßige Installations-, Bereitstellungs- und Verwaltungsaufgaben zu automatisieren. Die Bereitstellung eines Berichtsservers stellt einen aus mehreren Schritten bestehenden Vorgang dar. Sie müssen mehrere Tools und Prozesse verwenden, um eine Bereitstellung zu konfigurieren. Es gibt kein einzelnes Programm oder Verfahren, das zum Automatisieren aller zugehörigen Aufgaben verwendet werden kann.

Es sollte nicht jeder Schritt automatisiert werden. In einigen Fällen stellt die Ausführung eines Schritts auf manuelle Weise oder in einem Grafiktool die einfachste und effektivste Vorgehensweise dar. Wenn Sie z. B. eine große Anzahl von Berichten und Modellen bereitstellen möchten, empfiehlt es sich, die Berichtsserver-Datenbanken zu kopieren statt Code zu schreiben, der die Berichtsserverumgebung neu erstellt.

Einige Schritte erfordern benutzerdefinierten Code. Zum Beispiel kann die Konfiguration der URLs für den Webdienst und den Berichts-Manager automatisiert werden, jedoch nur, wenn Sie benutzerdefinierten Code schreiben, der den Berichtsserver-WMI-Anbieter aufruft (Windows Management Instrumentation). Wenn Sie keinen Code schreiben möchten, müssen Sie das Reporting Services-Konfigurationstool verwenden, um diesen Schritt auszuführen.

Zum Ausführen eines Skripts, das einen Berichtsserver konfiguriert, müssen Sie auf dem von Ihnen konfigurierten Computer als lokaler Administrator angemeldet sein. Weitere Informationen finden Sie unter Konfigurieren eines Berichtsservers für die Remoteverwaltung.

In diesem Artikel werden die empfohlenen Vorgehensweisen für die Automatisierung bestimmter Schritte beschrieben. Einige Programme und Programmierschnittstellen werden erwähnt; die jeweils dazugehörigen Beschreibungen finden Sie weiter unten in diesem Artikel.

Bereitstellungsaufgaben und deren Automatisierung

In der folgenden Tabelle sind die Installations- und Konfigurationsaufgaben zusammengefasst, die zum Bereitstellen eines Berichtsservers erforderlich sind. Sie können die Tabelle verwenden, um eine bestimmte Aufgabe an eine Vorgehensweise anzupassen, die die Automatisierung und unbeaufsichtigte Ausführung der Aufgabe ermöglicht.

Aufgabe Vorgehensweise
Installieren von Reporting Services. Sie können an der Befehlszeile das Setupprogramm ausführen, um eine unbeaufsichtigte Installation auszuführen.

Mit dem Setupprogramm können Sie einen Berichtsserver installieren und konfigurieren, jedoch nur, wenn Sie die Standardkonfigurationsoption angeben und Ihr System sämtliche Anforderungen für diesen Installationstyp erfüllt. Wenn Sie die Installation nicht mit der Standardkonfiguration vornehmen können, können Sie nur die Dateien installieren.
Konfigurieren des Dienstkontos. Das Dienstkonto wird anfänglich im Rahmen des Setups konfiguriert. Wenn Sie Änderungen am Dienstkonto als nach dem Setup durchzuführende Aufgabe automatisieren möchten, müssen Sie benutzerdefinierten Code schreiben, der den Berichtsserver-WMI-Anbieter aufruft (Windows Management Instrumentation). Es gibt keine Eingabeaufforderungs-Hilfsprogramme oder Skriptvorlagen für die programmgesteuerte Konfiguration des Dienstkontos.

Wenn die Codierungsanforderungen Sie von der Automatisierung dieses Schritts abhalten, können Sie das Konto auf einfache Weise manuell konfigurieren, indem Sie das Reporting Services -Konfigurationstool ausführen. Weitere Informationen finden Sie unter Konfigurieren eines Dienstkontos (Berichtsserver-Konfigurations-Manager).
Konfigurieren von URLs für den Report Server-Webdienst und den Berichts-Manager. Sie müssen benutzerdefinierten Code schreiben, der den Berichtsserver-WMI-Anbieter aufruft. Es gibt keine Befehlszeilenprogramme oder Skriptvorlagen für die Konfiguration der URLs.

Wenn Sie keinen Code schreiben möchten, können Sie die URLs manuell konfigurieren, indem Sie das Reporting Services -Konfigurationstool ausführen. Weitere Informationen finden Sie unter Konfigurieren einer URL (Berichtsserver-Konfigurations-Manager).
Erstellen der Berichtsserver-Datenbank. Sie müssen benutzerdefinierten Code schreiben, der den Berichtsserver-WMI-Anbieter aufruft. Es gibt keine Eingabeaufforderungs-Hilfsprogramme oder Skriptvorlagen zum Erstellen der Berichtsserver-Datenbanken und von RSExecRole.

Wenn Sie keinen Code schreiben möchten, können Sie die Datenbank manuell erstellen, indem Sie das Reporting Services -Konfigurationstool ausführen. Weitere Informationen finden Sie unter Erstellen einer Berichtsserver-Datenbank im nativen Modus (Berichtsserver-Konfigurations-Manager).
Konfigurieren der Verbindung mit der Berichtsserver-Datenbank. Wenn Sie die Verbindungszeichenfolge, das Konto oder Kennwort oder den Authentifizierungstyp ändern möchten, führen Sie das Hilfsprogramm rsconfig zum Konfigurieren der Verbindung aus. Weitere Informationen finden Sie unter Konfigurieren einer Verbindung mit der Berichtsserver-Datenbank (Berichtsserver-Konfigurations-Manager) und rsconfig-Hilfsprogramm (SSRS).

Mit rsconfig.exe können Sie die Datenbank nicht erstellen oder aktualisieren. Die Datenbank und RSExecRole müssen bereits vorhanden sein.
Konfigurieren Sie eine Bereitstellung für horizontales Skalieren. Wählen Sie eine der folgenden Vorgehensweisen zum Automatisieren der Bereitstellung für horizontales Skalieren aus:

– Führen Sie das Hilfsprogramm „rskeymgmt.exe“ aus, um die Berichtsserverinstanzen in einer vorhandenen Installation zusammenzuführen. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von Verschlüsselungsschlüsseln für die Bereitstellung für horizontales Skalieren (Berichtsserver-Konfigurations-Manager).
– Schreiben Sie benutzerdefinierten Code, der für den Berichtsserver-WMI-Anbieter ausgeführt wird.
Sichern Sie Verschlüsselungsschlüssel. Wählen Sie eine der folgenden Vorgehensweisen zum Automatisieren der Sicherung der Verschlüsselungsschlüssel aus:

– Führen Sie das Hilfsprogramm „rskeymgmt.exe“ aus, um die Schlüssel zu sichern. Weitere Informationen finden Sie unter Sichern und Wiederherstellen von Reporting Services-Verschlüsselungsschlüsseln.
– Schreiben Sie benutzerdefinierten Code, der für den Berichtsserver-WMI-Anbieter ausgeführt wird.
Konfigurieren Sie Berichtsserver-E-Mail-Optionen. Schreiben Sie benutzerdefinierten Code, der für den Reporting Services -WMI-Anbieter ausgeführt wird. Der Anbieter unterstützt eine Teilmenge der E-Mail-Konfigurationseinstellungen.

Obwohl die Datei RSReportServer.config alle Einstellungen enthält, verwenden Sie die Datei nicht in automatisierter Art und Weise. Verwenden Sie insbesondere keine Batchdatei, um die Datei auf einen anderen Berichtsserver zu kopieren. Jede Konfigurationsdatei enthält für die aktuelle Instanz spezifische Werte. Diese Werte sind in anderen Berichtsserverinstanzen ungültig.

Weitere Informationen zu den Einstellungen finden Sie unter E-Mail-Einstellungen: nativer Modus von Reporting Services (Konfigurations-Manager).
Konfigurieren Sie das Konto für die unbeaufsichtigte Ausführung. Wählen Sie eine der folgenden Vorgehensweisen zum Automatisieren der Konfiguration des Kontos für die unbeaufsichtigte Ausführung aus:

– Führen Sie das Hilfsprogramm „rsconfig.exe“ aus, um das Konto zu konfigurieren. Weitere Informationen finden Sie unter Konfigurieren des Kontos für die unbeaufsichtigte Ausführung (Berichtsserver-Konfigurations-Manager).
– Schreiben Sie benutzerdefinierten Code, der den Berichtsserver-WMI-Anbieter aufruft.
Stellen Sie vorhandenen Inhalt auf einem anderen Berichtsserver bereit, einschließlich der Ordnerhierarchie, Rollenzuweisungen, Berichte, Abonnements, Zeitpläne, Datenquellen und Ressourcen. Die beste Möglichkeit, eine vorhandene Berichtsserverumgebung neu zu erstellen, besteht im Kopieren der Berichtsserver-Datenbank in eine neue Berichtsserverinstanz.

Eine alternative Vorgehensweise besteht im Schreiben von benutzerdefiniertem Code, der vorhandenen Berichtsserverinhalt programmgesteuert neu erstellt. Abonnements, Berichtsmomentaufnahmen und der Berichtsverlauf können jedoch nicht programmgesteuert neu erstellt werden.

Für manche Bereitstellungen empfiehlt es sich, beide Verfahren zusammen zu verwenden. Stellen Sie beispielsweise eine Berichtsserverdatenbank wieder her, und führen Sie dann benutzerdefinierten Code aus, der die Berichtsserverdatenbank für eine bestimmte Installation ändert.

Ein ausführliches Beispiel finden Sie unter Reporting Services-Beispielskript rs.exe zum Kopieren von Inhalten zwischen Berichtsservern.

Weitere Informationen zum Verschieben von Berichtsserver-Datenbanken finden Sie unter Verschieben von Berichtsserver-Datenbanken auf einen anderen Computer (nativer SSRS-Modus). Weitere Informationen zum programmgesteuerten Erstellen einer Berichtsserverumgebung finden Sie in diesem Artikel im Abschnitt „Migrieren von Berichtsserverinhalten und -ordnern mithilfe von Skripts“.

Tools und Verfahren zum Automatisieren der Serverbereitstellung

In der folgenden Liste sind die Programme und Schnittstellen zusammengefasst, mit denen Bereitstellungs- und Verwaltungsaufgaben automatisiert werden können:

  • Das Setupprogramm kann im unbeaufsichtigten Modus ausgeführt werden, um Berichtsserverkomponenten zu installieren und in einigen Fällen zu konfigurieren. Sie müssen die Option zum ausschließlichen Installieren von Dateien verwenden, damit vom Setupprogramm eine Berichtsserverinstanz konfiguriert wird.

  • Für die Serverkonfiguration im lokalen und Remotemodus können der Reporting Services -WMI-Anbieter und die Reporting Services -Befehlszeilenprogramme verwendet werden.

    Der Reporting Services-WMI-Anbieter macht Klassen, Eigenschaften und Methoden verfügbar, mit denen Sie alle Aspekte einer Reporting Services-Installation konfigurieren können. Zu diesen Aspekten gehören das Angeben des Dienstkontos und das Konfigurieren von URLs. Sie können auch das Erstellen und Konfigurieren der Berichtsserverdatenbank oder das Konfigurieren eines Berichtsservers für die E-Mail-Zustellung umfassen. Sie können den WMI-Anbieter nur verwenden, wenn Sie benutzerdefinierten Code oder ein benutzerdefiniertes Skript schreiben. Weitere Informationen finden Sie unter Zugreifen auf den Reporting Services-WMI-Anbieter.

    Eine Alternative zum Schreiben von Code besteht in der Verwendung der Befehlszeilen-Hilfsprogramme (rsconfig.exe und rskeymgmt.exe). Zum Ausführen der Hilfsprogramme können Sie Batchdateien schreiben. Mit den Hilfsprogrammen können Sie einige, aber nicht alle Konfigurationsaufgaben automatisieren.

  • Mit dem Berichtsserver-Skript-Hosttool (rs.exe) kann benutzerdefinierter Microsoft Visual Basic -Code ausgeführt werden, den Sie schreiben, um vorhandenen Inhalt neu zu erstellen oder von einem Berichtsserver auf einen anderen zu verschieben. Mit dieser Vorgehensweise schreiben Sie ein Skript in Visual Basic, speichern es als RSS-Datei und verwenden rs.exe zum Ausführen des Skripts auf dem Zielberichtsserver. Das von Ihnen verfasste Skript kann die SOAP-Schnittstelle zum Berichtsserver-Webdienst aufrufen. Bereitstellungsskripts werden mithilfe dieser Methode geschrieben, da Sie auf diese Weise den Ordnernamespace und -inhalt eines Berichtsservers sowie die rollenbasierte Sicherheit neu erstellen können.

  • Mit dem SQL Server 2012-Release wurden PowerShell-Cmdlets für den integrierten SharePoint-Modus eingeführt. Sie können PowerShell zur Konfiguration und Verwaltung der SharePoint-Integration verwenden. Weitere Informationen finden Sie unter PowerShell-Cmdlets für SharePoint-Modus von Reporting Services.

Migrieren von Berichtsserverinhalten und -ordnern mithilfe von Skripts

Sie können Skripts schreiben, mit denen eine Berichtsserverumgebung in einer anderen Berichtsserverinstanz dupliziert werden. Bereitstellungsskripts werden in Visual Basic geschrieben und dann mithilfe des Skripthost-Hilfsprogramms des Berichtsservers verarbeitet.

Ein ausführliches Beispiel finden Sie unter Reporting Services-Beispielskript rs.exe zum Kopieren von Inhalten zwischen Berichtsservern.

Verwenden Sie Skripts, um Ordner, freigegebene Datenquellen, Ressourcen, Berichte, Rollenzuweisungen und Einstellungen von einem Server auf einen anderen zu kopieren. Schreiben Sie ein Skript für eine Berichtsserverinstanz, und führen Sie es dann auf einem anderen Server aus, um den Berichtsserver-Namespace erneut zu erstellen. Wenn in Ihrer Reporting Services -Bereitstellung mehrere Berichtsserver vorhanden sind, können Sie das Skript auf jedem Server einzeln ausführen, um alle Server identisch zu konfigurieren.

In der folgenden Liste sind die erforderlichen Schritte zum Migrieren von Berichten von einem Server auf einen anderen beschrieben.

  1. Legen Sie die Skriptvariable auf die URL des Quellberichtsservers fest.

  2. Verwenden Sie die Methoden GetItemDefinition und GetProperties , um die Berichtsdefinition und die Eigenschaften des Berichts abzurufen.

  3. Legen Sie die URL so fest, dass sie auf den Zielserver verweist.

  4. Verwenden Sie die CreateCatalogItem -Methode, um die von GetProperties zurückgegebenen Eigenschaften und die von GetItemDefinition.

Mit einer Kombination von get- und create-Methoden können Sie ähnliche Schritte zum Migrieren von Einstellungen, Ordnern, freigegebenen Datenquellen und Ressourcen ausführen. Weitere Informationen zu den verfügbaren Methoden finden Sie unter Technische Referenz (SSRS).

Hinweis

Sofern nicht explizit Anmeldeinformationen festgelegt wurden, werden Skripts mit den Microsoft Windows-Anmeldeinformationen des Benutzers ausgeführt, der das Skript ausführt.

Weitere Informationen zum Formatieren und Ausführen einer Skriptdatei finden Sie unter Skripterstellung mit dem Hilfsprogramm rs.exe und dem Webdienst.

Festlegen von Servereigenschaften mithilfe von Skripts

Sie können Skripts schreiben, um Systemeigenschaften auf dem Berichtsserver festzulegen. Das folgende Visual Basic .NET-Skript zeigt eine Möglichkeit, Eigenschaften festzulegen. In diesem Beispiel wird das RSClientPrint-ActiveX-Steuerelement deaktiviert. Sie können jedoch EnableClientPrinting und False durch einen beliebigen gültigen Eigenschaftennamen und -wert ersetzen. Eine vollständige Liste der Servereigenschaften finden Sie unter Berichtsserver-Systemeigenschaften.

Um dieses Skript zu verwenden, speichern Sie es in einer Datei mit der Erweiterung RSS und verwenden anschließend das Eingabeaufforderungs-Hilfsprogramm rs.exe, um die Datei auf dem Berichtsserver auszuführen. Das Skript wird nicht kompiliert, daher wird keine Installation von Visual Basic benötigt. In diesem Beispiel wird davon ausgegangen, dass Sie über die entsprechenden Berechtigungen für den lokalen Computer verfügen, der den Berichtsserver hostet. Wenn Sie mit einem Konto angemeldet sind, das nicht über die erforderlichen Berechtigungen verfügt, müssen Sie Kontoinformationen über weitere Befehlzeilenargumente angeben. Weitere Informationen finden Sie unter Hilfsprogramm RS.exe (SSRS).

Public Sub Main()  
        Dim props(0) As [Property]  
        Dim setProp As New [Property]  
        setProp.Name = "EnableClientPrinting"  
        setProp.Value = "False"   
        props(0) = setProp  
        Try  
            rs.SetSystemProperties(props)  
        Catch ex As System.Web.Services.Protocols.SoapException  
            Console.Write(ex.Detail.InnerXml)  
        Catch e as Exception  
            Console.Write(e.Message)  
        End Try  
End Sub