Freigeben über


Ausskalierte Datenbanken

Um Hochverfügbarkeit für die BizTalk Server Datenbanken zu gewährleisten, konfigurieren Sie zwei Computer, auf denen SQL Server in einem Windows-Cluster ausgeführt werden. Diese Computer können aus Gründen der Redundanz in einer Aktiv/Aktiv- oder Aktiv/Passiv-Konfiguration ausgeführt werden und Daten auf einem freigegebenen Laufwerk (z. B. einem RAID5 SCSI-Datenträgerarray) oder in einem Speichernetzwerk (SAN) speichern.

Sollte der SQL Server-Dienst nicht mehr zur Verfügung stehen, überträgt der Datenbankcluster Ressourcen vom aktiven Computer auf den passiven Computer. Während dieses Failoverprozesses treten bei den BizTalk Server-Dienstinstanzen Datenbankverbindungsfehler auf. Die Instanzen werden automatisch neu gestartet, um die Datenbankverbindung wiederherzustellen. Der funktionierende Datenbankcomputer (der zuvor passive Computer) beginnt mit der Verarbeitung der Datenbankverbindungen nach Übernahme der Ressourcen während des Failovers.

Ausführen mehrerer MessageBox-Datenbanken

Um die Skalierbarkeit der BizTalk Server Datenbanken zu verbessern, können Sie BizTalk Server so konfigurieren, dass Daten in mehreren MessageBox-Datenbanken gespeichert werden. Die erste MessageBox-Datenbank erstellen Sie beim Ausführen des Konfigurations-Assistenten. Diese MessageBox-Datenbank ist die MessageBox-Masterdatenbank. In Ihrer BizTalk Server-Bereitstellung gibt es nur eine MessageBox-Masterdatenbank. Die MessageBox-Masterdatenbank enthält die Master-Abonnementinformationen und routet Nachrichten an die entsprechende MessageBox-Datenbank. In der Regel möchten Sie die master MessageBox nur für das Routing verwenden (wählen Sie Neue Nachrichtenveröffentlichung deaktivieren) aus, und lassen Sie die Verarbeitung von den anderen MessageBox-Datenbanken durchführen.

Wenn die MessageBox-Masterdatenbank eine neue Aktivierungsnachricht erhält (eine neue Instanz eines Geschäftsprozesses oder eine Abonnementnachricht), verteilt die MessageBox-Masterdatenbank die Aktivierungsnachricht an die nächste verfügbare MessageBox-Datenbank. Gibt es beispielsweise eine MessageBox-Masterdatenbank und zwei MessageBox-Datenbanken, leitet die MessageBox-Masterdatenbank nach dem Round-Robin-Prinzip die erste Aktivierungsnachricht an die MessageBox-Datenbank 1 weiter, die zweite Aktivierungsnachricht an die MessageBox-Datenbank 2, die dritte Aktivierungsnachricht wieder an die MessageBox-Datenbank 1, usw. Die MessageBox-Masterdatenbank führt einen Lastenausgleich mithilfe integrierter Logik durch. Darüber hinaus sind keine weiteren Lastenausgleichsmechanismen erforderlich.

Nachdem die MessageBox-Masterdatenbank die Aktivierungsnachricht an eine bestimmte MessageBox-Datenbank weitergeleitet hat (z. B. MessageBox-Datenbank 1), wird der Geschäftsprozess in den Speicher geladen und ausgeführt. Wenn der Geschäftsprozess auf eine Nachricht warten muss und die Wartezeit länger als mehrere Sekunden ist, wird der Geschäftsprozess wieder in der MessageBox-Datenbank 1 gespeichert. Der Geschäftsprozess wartet auf eine Korrelationsmeldung. Wenn die Korrelationsnachricht bei der MessageBox-Masterdatenbank eingeht, führt die Nachricht einen Suchvorgang in der Datenbank aus und sucht nach der MessageBox-Datenbank, die den Status für die Korrelationsnachricht enthält (in diesem Beispiel MessageBox-Datenbank 1). Die MessageBox-Masterdatenbank übermittelt die Nachricht dann an die MessageBox-Datenbank, die den Geschäftsprozess enthält. Der Geschäftsprozess wird daraufhin wieder in den Speicher geladen und weiter verarbeitet, bis er abgeschlossen ist oder auf eine weitere Korrelationsnachricht warten muss.

BizTalk Server speichert alle Statuszustände in den MessageBox-Datenbanken, und jede MessageBox-Datenbank enthält Statusinformationen für verschiedene Geschäftsprozesse. Aus Gründen der Zuverlässigkeit müssen Sie alle MessageBox-Datenbanken clustern. Dies gilt für die MessageBox-Masterdatenbank und die sekundären MessageBox-Datenbanken.

Um mehrere MessageBox-Datenbanken zu konfigurieren, verwenden Sie die BizTalk-Verwaltungskonsole, um die Computer hinzuzufügen, auf denen SQL Server ausgeführt wird. Aus Verwaltungssicht müssen Sie nur neue MessageBox-Datenbanken hinzufügen. BizTalk Server sorgt automatisch für die Verteilung von Aktivierungsnachrichten nach dem Round-Robin-Prinzip und sendet Korrelationsnachrichten an die richtigen MessageBox-Datenbanken.

Wenn Sie in Ihrer Umgebung mehrere MessageBox-Datenbanken konfigurieren, sollten Sie mindestens 3 MessageBox-Datenbanken für die BizTalk Server-Gruppe erstellen und die Nachrichtenveröffentlichung für die MessageBox-Masterdatenbank deaktivieren. Dies wird empfohlen, da das Hinzufügen weiterer MessageBox-Datenbanken einen Overhead der MessageBox-Masterdatenbank für das Weiterleiten von Nachrichten zwischen den MessageBox-Datenbanken verursacht. Wenn Sie nur 2 MessageBox-Datenbanken konfigurieren, wird der durch die zusätzliche MessageBox-Datenbank entstehende Vorteil durch den Overhead der MessageBox-Masterdatenbank für die Nachrichtenweiterleitung größtenteils ausgeglichen.

Bereitstellen hoher Verfügbarkeit für mehrere MessageBox-Datenbanken

Das Hinzufügen von MessageBox-Datenbanken zu Ihrer BizTalk Server Bereitstellung verbessert zwar die Skalierbarkeit, bietet jedoch keine Hochverfügbarkeit, da jede MessageBox-Datenbank eindeutig und unabhängig ist und möglicherweise ein Single Point of Failure für Ihre BizTalk Server-Umgebung ist. Um Redundanz zu gewährleisten, müssen Sie für jede MessageBox-Datenbank einen Servercluster konfigurieren. BizTalk Server verteilt Daten über mehrere MessageBox-Datenbanken. Ohne Gruppierung von Servern in einem Cluster können die Datenbanken die Daten also nicht gemeinsam nutzen und auch anderweitig keine Redundanz gewährleisten.

Bereitstellen hoher Verfügbarkeit für die BizTalk-Überwachungsdatenbank

Abhängig von den Anforderungen Ihrer Bereitstellung muss unter Umständen die Leistung für die Überwachung erhöht werden. Dazu isolieren Sie die BizTalk-Überwachungsdatenbank auf einem separaten SQL Server-Computer und erstellen einen separaten BizTalk-Host, der für die Hostüberwachung zuständig ist. Wenn Ihre Bereitstellung durch einen hohen Durchsatz gekennzeichnet ist und Sie zahlreiche Daten für diese Nachrichten überwachen müssen, kann der Überwachungs-Overhead umfangreiche Ressourcen auf dem Computer beanspruchen, auf dem SQL Server ausgeführt wird. Wenn diese Situation auftritt und weiterhin eine hohe Rate eingehender Nachrichten auftritt, erreicht BizTalk Server einen Punkt, an dem neue Nachrichten nicht verarbeitet werden können, da die zum Nachverfolgen von Nachrichten erforderlichen Ressourcen größer sind als die Ressourcen, die zum Ausführen der anderen BizTalk Server Komponenten erforderlich sind (z. B. das Empfangen von Nachrichten und deren Beibehaltung in der MessageBox-Datenbank).

Zur Steigerung von Leistung und Sicherheit wird empfohlen, einen Host für die Überwachung bereitzustellen, der keine weiteren Elemente enthält (wie Empfangsspeicherorte, Orchestrierungen oder Pipelines), und die Überwachung auf den empfangenden, verarbeitenden und sendenden Hosts deaktivieren. Erstellen Sie mehr als eine Hostinstanz des überwachenden Hosts, um Hochverfügbarkeit für den überwachenden Host zu erreichen.

Für jede MessageBox-Datenbank verwendet BizTalk Server nur einen Nachverfolgungshost instance, um Nachrichten aus der MessageBox-Datenbank in die BizTalk-Nachverfolgungsdatenbank (BizTalkDTADb) zu verschieben. Wenn auf zusätzlichen Computern Instanzen des überwachenden Hosts ausgeführt werden, wird die Verwaltung der einzelnen MessageBox-Datenbanken von BizTalk Server automatisch an eine separate Instanz des überwachenden Hosts ausskaliert. Ist die Zahl der MessageBox-Datenbanken größer als die Anzahl der Instanzen des überwachenden Hosts, bedient mindestens eine Überwachungshostinstanz mehr als eine MessageBox-Datenbank.

Wenn Sie Hochverfügbarkeit für die BizTalk-Überwachungsdatenbank sicherstellen möchten, konfigurieren Sie mithilfe des Windows-Clusterdiensts zwei Datenbankcomputer, auf denen SQL Server in einer Aktiv/Passiv-Konfiguration ausgeführt wird.

Bereitstellen hoher Verfügbarkeit für die BAM-Datenbanken

Mit der Geschäftsaktivitätsüberwachung (Business Activity Monitoring, BAM) können Sie Geschäftsprozesse sichtbar machen - unabhängig von der IT-Implementierung und sogar in heterogenen IT-Implementierungen. Die BAM SQL Server-Datenbanken (BAM-Sternschema-Datenbank, Primäre BAM-Importdatenbank und BAM-Archivdatenbank) sowie die BAM-Analysedatenbank speichern die Geschäftsaktivitätsdaten, die sich von den betrieblichen Überwachungsdaten unterscheiden. Um hohe Verfügbarkeit für die BAM-Infrastruktur zu gewährleisten, gehen Sie wie folgt vor:

  • Clustern Sie die Primäre BAM-Importdatenbank und die BAM-Analysedatenbank. Die primäre BAM-Importdatenbank bildet das Zentrum des Systems zur Geschäftsaktivitätsüberwachung. Daher sollten Sie diese Datenbank unbedingt mithilfe des Windows-Clusterdiensts hoch verfügbar machen und sich an die folgenden beiden Empfehlungen halten, um zu verhindern, dass sich die Datenbank füllt. Die BAM-Analysedatenbank ist eine Analysis Services-Datenbank, in der die Daten gespeichert werden, mit denen Wirtschaftsanalytiker Aktivitätsaggregationen und OLAP-Cubes erstellen. Datenbankausfälle wirken sich daher auf die Produktivität der Wirtschaftsanalytiker aus. Sie müssen die BAM-Archivdatenbank zwar nicht clustern, sollten jedoch das Ereignisprotokoll auf Fehler überwachen, wenn die Datentransformationsdienst-Pakete (DTS-Pakete) ausgeführt werden. Dadurch können Sie sicherstellen, dass die Daten erfolgreich übertragen wurden. Außerdem sollten Sie die Größe der Datenbank überwachen, damit Sie sie ersetzen können, bevor die Kapazität ausgeschöpft ist.

  • Definieren Sie ein Onlinefenster. Um höhere Leistung zu ermöglichen und Ausfallzeiten zu vermeiden, werden die Daten durch die Geschäftsaktivitätsüberwachung in der primären BAM-Importdatenbank in Tabellen aufgeteilt. Die Aufteilung basiert auf einem Zeitstempel, der bei Abschluss der Aktivität erstellt wurde. Die Geschäftsaktivitätsüberwachung erreicht dies durch regelmäßigen Austausch der vervollständigten Tabelle durch eine andere, leere Tabelle mit identischem Format. Im Anschluss werden die zusätzlichen abgeschlossenen Aktivitäten in der neuen Partition (Tabelle) abgelegt, während die Geschäftsaktivitätsüberwachung die alten Partitionen für den Zeitraum beibehält, der im Onlinefenster definiert wurde. Sie müssen ein Onlinefenster definieren, um sicherzustellen, dass die Zahl der Partitionen in der Primären BAM-Importdatenbank nicht zu groß wird. Weitere Informationen zum Planen von Onlinefenstern finden Sie unter "Archiving Primary Import Database Data" in BizTalk Server Hilfe.

  • Planen Sie die regelmäßige Ausführung von DTS-Paketen. Durch Definieren eines Onlinefensters stellen Sie sicher, dass die primäre BAM-Importdatenbank nicht mit alten Aktivitätspartitionen aufgefüllt wird. Außerdem müssen Sie festlegen, dass DTS-Pakete regelmäßig ausgeführt werden, um eine neue Partition für die Aktivitätsdaten zu erstellen und die Daten aus den alten Partitionen in der Primären BAM-Importdatenbank in die BAM-Archivdatenbank zu verschieben. Weitere Informationen zum Planen von DTS-Paketen finden Sie unter "Planen der DTS-Pakete" in BizTalk Server Hilfe.

  • Wählen Sie sorgfältig kleine Sätze von Datenelementen (Prüfpunkte) aus, und vermeiden Sie das Einbeziehen unnötiger Datenelemente, wenn Sie eine Aktivität definieren.

  • Beachten Sie beim Entwerfen Ihrer Aggregationen die Vor- und Nachteile von geplanten Aggregationen und Echtzeitaggregationen. Echtzeitaggregationen werden automatisch von SQL Server-Triggern verwaltet. Für sie gilt keine Wartezeit. Sie eignen sich hervorragend für einige unternehmenswichtige Szenarien mit geringer Wartezeit, ziehen jedoch Leistungseinbußen nach sich, sobald Ereignisse in die Primäre BAM-Importdatenbank geschrieben werden. Geplante Aggregationen stützen sich zur Aktualisierung der Aggregationsdaten auf geplante Cubing-DTS-Pakete. Hier entspricht die Wartezeit dem DTS-Planungsintervall oder ist größer als dieses Intervall. Die Auswirkungen auf die Leistung der Primären BAM-Importdatenbank sind jedoch insgesamt geringer.

  • Wenn Sie sich für geplante Aggregationen entscheiden, stellen Sie sicher, dass das Cubing-DTS-Paket häufiger ausgeführt wird als das archivierende DTS-Paket. Dies ist deshalb erforderlich, da die Aktivitätsdaten, die für die geplante Aggregation verarbeitet wurden, vom archivierenden DTS nicht in die BAM-Archivdatenbank verschoben werden.

  • Aktivieren Sie den BAM-Ereignisbusdienst in mehreren Computern, um eine Failoverfunktion zu gewährleisten.

Bereitstellen hoher Verfügbarkeit für die anderen BizTalk Server-Datenbanken

Um Hochverfügbarkeit für die anderen BizTalk Server Datenbanken bereitzustellen, konfigurieren Sie zwei Computer, auf denen SQL Server in einem Windows-Cluster ausgeführt werden. Diese Computer können aus Gründen der Redundanz in einer Aktiv/Aktiv- oder Aktiv/Passiv-Konfiguration ausgeführt werden und Daten auf einem freigegebenen Laufwerk (z. B. einem RAID5 SCSI-Datenträgerarray) oder in einem Speichernetzwerk (SAN) speichern.

Weitere Informationen

Bereitstellen hoher Verfügbarkeit für BizTalk-Hosts
Bereitstellen hoher Verfügbarkeit für BizTalk Server-Datenbanken
Beispielszenarios für BizTalk Server mit hoher Verfügbarkeit