Planen einer Bereitstellung für horizontales Skalieren

Eine Bereitstellung für horizontales Skalieren wird als zwei oder mehr Berichtsserverinstanzen definiert, die gemeinsam eine einzelne Berichtsserver-Datenbank nutzen. Mit einer Bereitstellung für horizontales Skalieren können Sie die Anzahl der Benutzer erhöhen, die gleichzeitig auf Berichte zugreifen, und können die Verfügbarkeit des Berichtsservers verbessern. Bei dieser Bereitstellungstopologie wird empfohlen, dass Sie die Berichtsserverinstanzen mit identischen Einstellungen konfigurieren, auch wenn dies nicht zwangsläufig erforderlich ist. Sie können die einzelnen Server hinsichtlich spezifischer Fähigkeiten konfigurieren und als unabhängige Instanzen ausführen, beispielsweise wenn Sie die interaktive Berichtsverarbeitung von der geplanten oder der Abonnementberichtsverarbeitung trennen möchten.

Die folgende Liste fasst die in einer Bereitstellung für horizontales Skalieren unterstützten Szenarien zusammen:

  • Ausführen von Berichtsserverinstanzen in einer Lastenausgleichslösung, um eine bedarfsgesteuerte Berichterstellung im großen Umfang zu unterstützen.

  • Erhöhen der Verfügbarkeit des Berichtsservers.

  • Isolieren von Dienstfunktionen auf bestimmten Computern, sodass eine maximale Nutzung aller verfügbaren Systemressourcen möglich ist, dieselben Daten derselben Berichtsserver-Datenbank aber trotzdem gespeichert und abgerufen werden können.

Die folgenden Anforderungen gelten für eine Bereitstellung für horizontales Skalieren.

Anforderung

Beschreibung

Editionsanforderungen

Die Bereitstellung für horizontales Skalieren wird in den folgenden Editionen unterstützt: Enterprise Edition, Developer Edition und Evaluation Edition.

Die Standard Edition, die Workgroup Edition und die Express Edition unterstützen keine Bereitstellung für horizontales Skalieren.

Versionsanforderungen

Alle Berichtsserver müssen die gleiche Hauptversion und die gleichen Updates und Service Packs installiert haben.

Domänenanforderungen

Alle Berichtsserver müssen sich in derselben Domäne bzw. in einer vertrauenswürdigen Domäne befinden.

Authentifizierungsanforderungen

Berichtsserverinstanzen in einer Bereitstellung für horizontales Skalieren müssen den gleichen Typ der Authentifizierungserweiterung aufweisen. Wenn Sie eine benutzerdefinierte Authentifizierungserweiterung erstellt haben, müssen Sie diese Erweiterung auf allen Knoten bereitstellen und verwenden. Sie sollten die gleichen Authentifizierungstypen in jedem Knoten in einer Bereitstellung für horizontales Skalieren konfigurieren.

Aufgrund dieser Einschränkung können Sie keine Bereitstellung für horizontales Skalieren konfigurieren, um einen gleichzeitigen Intranet- und Extranetzugriff auf dieselbe Berichtsserver-Datenbank über separate Berichtsserverinstanzen zu unterstützen, wobei jede Instanz für verschiedene Authentifizierungstypen und Autorisierungsregeln konfiguriert ist.

Der Grund für diese Einschränkung liegt darin, dass Reporting Services keine benutzerdefinierten Berechtigungseinstellungen zwischen den verschiedenen Authentifizierungstypen synchronisiert. Wenn Sie die Vererbung von Berechtigungen unterbrechen und für bestimmte Elemente Rollenzuweisungen erstellen, treten Zugriffsverweigerungsfehler auf, sobald auf das Element von einem Benutzer zugegriffen wird, der über den anderen Authentifizierungsanbieter authentifiziert worden war. Um dieses Problem zu lösen, müssten Sie jede elementspezifische Rollenzuweisung über beide Server duplizieren, um für beide Authentifizierungserweiterungen doppelte Sicherheitsrichtlinien zu erhalten. Dieses arbeitsintensive und fehleranfällige Verfahren führt wahrscheinlich zu Zugriffsverweigerungsfehlern. Aus diesem Grund wird das Szenario nicht unterstützt.

Die übrigen Abschnitte in diesem Thema enthalten weitere Details über unterstützte Szenarien.

Bereitstellung für horizontales Skalieren für Lastenausgleichslösungen

Nach der Konfiguration einer Bereitstellung für horizontales Skalieren kann für die Berichtsserverknoten ein Lastenausgleich in einem NLB-Cluster (Network Load Balanced, Netzwerk-Lastenausgleich) durchgeführt werden, um die Berichterstellung in großem Umfang zu unterstützen. Zum Implementieren des NLB-Clusters können Sie eine Software- oder Hardwarelösung verwenden. Die Bereitstellung von Reporting Services in einem NLB-Cluster ist nur erforderlich, wenn die Reaktionsfähigkeit des Berichtsservers verbessert oder die Anzahl interaktiver Berichte, die gleichzeitig verarbeitet werden können, erhöht werden soll. Geplante Berichte und Abonnementverarbeitungen sind auf einer Bereitstellung für horizontales Skalieren schneller. Es ist jedoch kein NLB-Cluster erforderlich, damit eine höhere Leistung erzielt wird.

Zum Erstellen und Konfigurieren des NLB-Clusters müssen Sie Software und Tools verwenden, die diese Funktionen unterstützen. Es gibt Lastenausgleichsfunktionen in Microsoft Windows Server-Betriebssystemen und Anwendungen von Drittanbietern. Reporting Services für sich genommen bietet keine Lastenausgleichsfunktionen oder die Möglichkeit, eine einzelne virtuelle Server-URL für den Zugriff auf mehrere Berichtsserverknoten zu definieren. Die gewählte Hardware- oder Softwarelösung muss eine Möglichkeit zur Definition eines virtuellen Servernamens bieten, der einen einzelnen Eingangspunkt für alle Knoten in einem Berichtsserver für horizontales Skalieren bereitstellt. 

Reporting Services ist nicht abhängig von Microsoft-Clusterdiensten. Wenn Sie Microsoft-Clusterdienste verwenden, überprüfen Sie die folgenden Informationen:

  • Wenn Reporting Services auf einem Aktiv/Passiv-Cluster mit Microsoft-Clusterdiensten ausgeführt wird, führt der Berichtsserver-Dienst Anforderungen auf jedem Clusterknoten aus, auf dem der Dienst bereitgestellt wird, und handhabt diese.

  • Wenn eine Berichtsserver-Datenbank auf einer SQL Server-Instanz installiert ist, die Teil eines Failoverclusters ist, muss der Berichtsserver für die Verwendung des virtuellen Namens des Failoverclusters konfiguriert sein, damit eine Verbindung zur Berichtsserver-Datenbank hergestellt werden kann. Andernfalls kann der Berichtsserver keine Verbindung zur Berichtsserver-Datenbank herstellen, wenn ein Failover auftritt.

  • Sie können Berichtsserver in Microsoft-Clusterdiensten nicht durch SQL Server-Failoverclustering bereitstellen. Aber Sie können Berichtsserver mit der Option zum ausschließlichen Installieren von Dateien während einer SQL Server-Installation installieren. 

So konfigurieren Sie Ihre Bereitstellung

  1. Konfigurieren Sie zwei oder mehr Server für den Betrieb in einem NLB-Cluster.

  2. Konfigurieren Sie einen separaten Server zum Hosten der Berichtsserver-Datenbank.

  3. Installieren und konfigurieren Sie eine Berichtsserverbereitstellung für horizontales Skalieren, indem Sie auf jedem Knoten im NLB-Cluster eine Berichtsserverinstanz installieren. Weitere Informationen zum Installieren von Berichtsservern und zu ihrer Verknüpfung zu einer Bereitstellung für horizontales Skalieren finden Sie unter Vorgehensweise: Konfigurieren der Berichtsserver-Bereitstellung für horizontales Skalieren (Reporting Services-Konfiguration).

  4. Konfigurieren Sie Anzeigestatusüberprüfung, und überprüfen Sie Berichtsserverkonfiguration. Weitere Informationen finden Sie unter Vorgehensweise: Konfigurieren eines Berichtsservers in einem NLB-Cluster (Network Load Balancing, Netzwerklastenausgleich).

  5. Konfigurieren Sie auf jedem Knoten in der Bereitstellung für horizontales Skalieren die HostName-Eigenschaft des Berichtsservers für die Verwendung des URL-Namens des NLB. Durch diesen Schritt werden die vom Berichtsserver generierten URLs so konfiguriert, dass Sie statt auf einen spezifischen Server auf den NLB verweisen. Weitere Informationen finden Sie unter Vorgehensweise: Konfigurieren eines Berichtsservers in einem NLB-Cluster (Network Load Balancing, Netzwerklastenausgleich).

Bereitstellung für horizontales Skalieren zur verbesserten Leistung von Dienstfunktionen

Unsere Technik zur Verbesserung der Berichtsserverleistung besteht darin, eine Bereitstellung für horizontales Skalieren zu konfigurieren, die jedem einzelnen Berichtsserver spezifische Verarbeitungstypen zuweist. Sie können beispielsweise einen Berichtsserver für die Handhabung von geplanter Berichts- und Abonnementverarbeitung und einen zweiten Berichtsserver für die interaktive Berichterstellung konfigurieren. Da die Berichtsserver in derselben Bereitstellung für horizontales Skalieren ausgeführt werden, verarbeitet jeder Server dieselben Berichtssätze.

So konfigurieren Sie Ihre Bereitstellung

  1. Installieren und konfigurieren Sie eine Berichtsserverbereitstellung für dezentrales Skalieren. Anweisungen finden Sie unter Vorgehensweise: Konfigurieren der Berichtsserver-Bereitstellung für horizontales Skalieren (Reporting Services-Konfiguration).

  2. Deaktivieren Sie auf dem Server, der zur interaktiven Berichterstellung verwendet wird, die geplante Berichts- und Abonnementverarbeitung.

  3. Deaktivieren Sie auf dem anderen Server, der zur Hintergrundverarbeitung verwendet wird, den Report Server-Webdienst und den Berichts-Manager.

Weitere Informationen zur Deaktivierung bestimmter Funktionen finden Sie unter Vorgehensweise: Aktivieren und Deaktivieren der Reporting Services-Features.

Im Zusammenhang mit Bereitstellungen für horizontales Skalieren zu beachtende Aspekte

Verschiedene Versionen von Betriebssystemen unterstützen unterschiedliche Kulturen und Sortierungen.

Wenn Ihre Bereitstellung für horizontales Skalieren Computer enthält, die verschiedene Versionen des Betriebssystems ausführen, unterstützen sie möglicherweise unterschiedliche Kulturen und Sortierungen. Dies kann bei der Verarbeitung und beim Rendern von Berichten zu inkonsistenten Berichten oder Berichtsfehlern führen.

Beim Entwerfen eines Berichts kann der Autor Eigenschaften des Berichts- oder der Berichtsobjekte konfigurieren, die sich auf die beim Verarbeiten und Rendern des Berichts verwendete Kultur auswirken. Dies kann in Berichten zu inkonsistenten Daten oder Fehlern führen, da verschiedene Versionen der Betriebssysteme unterschiedliche Kulturen unterstützen, und Berichte vom gleichen Server in einer Bereitstellung für horizontales Skalieren möglicherweise nicht konsistent verarbeitet werden.

Beispiel: Ihre Bereitstellung für horizontales Skalieren enthält einen Windows 2003-Server und einen Windows 2008-Server. In einer Bereitstellung für horizontales Skalieren geht Reporting Services davon aus, dass die Netzwerkumgebung Software oder Hardware verwendet, um Lastenausgleichsanforderungen an die verschiedenen Server zu leiten. Reporting Services geht jedoch nicht davon aus, dass Ihre Lastenausgleichslösung alle Anforderungen in der Sitzung eines bestimmten Benutzers an einen einzigen Server weiterleitet. Der Load Balancer hat die Möglichkeit, eine Seitenanforderung an den Windows 2008-Server und die nächste Seitenanforderung an den Windows 2003-Server zu senden. In diesem Beispiel wird für die Berichtsverarbeitung eine Sortierung verwenden, die auf dem Windows 2008-Server, jedoch nicht auf Windows 2003-Server unterstützt wird. Diese inkonsistente Verfügbarkeit der erwarteten Sortierung bei der Berichtsverarbeitung und dem Berichtsrendering kann zu inkonsistenten Berichtsergebnissen führen. Die folgenden Beispiele veranschaulichen die möglicherweise zu erwartenden Symptome:

  • Für zusätzliche Gruppierungs-, Sortierung- oder Filterfunktionen bei der Berichtsverarbeitung kann die falsche Sortierung von Vergleichen verwendet werden. Dies kann zu falschen Ergebnissen führen.

  • Die HideDuplicates-Funktionalität kann die falsche Sortierung verwenden, was beim Ausblenden und Einblenden von Werten zu falschen Ergebnissen führen kann.

  • Die Lookup-, LookupSet- und die MultiLookup-Funktionalität können die falsche Sortierung verwenden, was zu falschen Ergebnissen führen kann.

Alle Eigenschaft, die mit Kultur und Sprache interagieren, können betroffen sein, da die Verarbeitung unter verschiedenen Betriebssystemen erfolgt. In der folgenden Liste werden einige, jedoch nicht alle, betroffenen Eigenschaften aufgeführt:

  • Spracheigenschaft eines Berichts

  • Sortierungseigenschaft eines Datasets

  • LableLocId-Eigenschaft und ValueLocID-Eigenschaft von Berichtselementen

So können Sie das Problem umgehen:

  • Verwenden Sie auf allen Servern in den Bereitstellungen für horizontales Skalieren dieselbe Version des Betriebssystems

  • Falls Sie verschiedene Betriebssystemversionen verwenden, greifen Sie bei der Berichterstellung nur auf Kulturen zurück, die auf allen Servern unterstützt werden.

  • Richten Sie in der Lastenausgleichslösung Affinität ein, damit alle Anforderungen für einen bestimmten Bericht und eine bestimmte Benutzersitzung an denselben Server geleitet werden.