Verwenden von 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 Vorgehensweise: Konfigurieren eines Berichtsservers für die Remoteverwaltung.

In diesem Thema 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 Thema.

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. Weitere Informationen zu Installationsoptionen finden Sie unter Überlegungen zum Installieren von Reporting Services.

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-Dienstprogramme 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 Vorgehensweise: Konfigurieren eines Dienstkontos für Reporting Services.

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 Vorgehensweise: Konfigurieren einer URL (Reporting Services-Konfiguration).

Erstellen der Berichtsserver-Datenbank.

Sie müssen benutzerdefinierten Code schreiben, der den Berichtsserver-WMI-Anbieter aufruft. Es gibt keine Eingabeaufforderungs-Dienstprogramme 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 Vorgehensweise: Erstellen einer Berichtsserver-Datenbank (Reporting Services-Konfiguration).

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 Dienstprogramm rsconfig zum Konfigurieren der Verbindung aus. Weitere Informationen finden Sie unter Konfigurieren einer Berichtsserver-Datenbankverbindung und rsconfig (Dienstprogramm).

Mit rsconfig.exe können Sie die Datenbank nicht erstellen oder konfigurieren. 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:

Sichern Sie Verschlüsselungsschlüssel.

Wählen Sie eine der folgenden Vorgehensweisen zum Automatisieren der Sicherung der Verschlüsselungsschlüssel aus:

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 diesen Einstellungen finden Sie unter Konfigurieren eines Berichtsservers für die E-Mail-Übermittlung.

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:

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. Beachten Sie jedoch, dass Abonnements, Berichtssnapshots und der Berichtsverlauf nicht programmgesteuert neu erstellt werden können.

Für manche Bereitstellungen empfiehlt es sich, beide Verfahren zusammen zu verwenden (d. h., Wiederherstellen einer Berichtsserver-Datenbank und anschließendes Ausführen von benutzerdefiniertem Code, der die Berichtsserver-Datenbank für eine bestimmte Installation ändert).

Weitere Informationen zum Verschieben von Berichtsserver-Datenbanken finden Sie unter Verschieben von Berichtsserver-Datenbanken auf andere Computer. Weitere Informationen zum programmgesteuerten Erstellen einer Berichtsserverumgebung finden Sie in diesem Thema im Abschnitt "Migrieren von Berichtsserverinhalt 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. Dazu zählen u. a. das Angeben des Dienstkontos, das Konfigurieren von URLs, das Erstellen und Konfigurieren der Berichtsserver-Datenbank und das Konfigurieren eines Berichtsservers für die E-Mail-Übermittlung. Sie können den WMI-Anbieter nur verwenden, wenn Sie benutzerdefinierten Code oder ein benutzerdefiniertes Skript schreiben. Weitere Informationen finden Sie unter Reporting Services-WMI-Anbieter.

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

  • Mit dem Berichtsserver-Skript-Hosttool (rs.exe) kann benutzerdefinierter MicrosoftVisual 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 Report Server-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.

Migrieren von Berichtsserverinhalt und -ordnern mithilfe von Skripts

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

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 GetReportDefinition 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 CreateReport-Methode, um die von GetProperties zurückgegebenen Eigenschaften und die von GetReportDefinition zurückgegebene Berichtsdefinition zu übergeben.

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 (Reporting Services).

HinweisHinweis

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

Weitere Informationen zu Skriptbeispielen finden Sie unter Sample Scripts. Weitere Informationen zum Formatieren und Ausführen einer Skriptdatei finden Sie unter Skripterstellung mit dem rs-Dienstprogramm 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-Dienstprogramm 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 zusätzliche Befehlzeilenargumente angeben. Weitere Informationen finden Sie unter rs (Dienstprogramm).

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