Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Datei-Eingabe/Ausgabe (E/A)-Kontention ist häufig ein begrenzender Faktor oder Engpass in einer BizTalk Server-Produktionsumgebung. BizTalk Server ist eine sehr datenbankintensive Anwendung und wiederum ist die von BizTalk Server verwendete SQL Server-Datenbank sehr datei-E/A-Intensiv. In diesem Thema wird beschrieben, wie Sie das Feature "Dateien und Dateigruppen" von SQL Server optimal nutzen können, um das Risiko von Datei-E/A-Engpässen zu minimieren und die Gesamtleistung einer BizTalk Server-Lösung zu verbessern.
Überblick
Jede BizTalk Server-Lösung wird schließlich auf Datei-E/A-Engpässe stoßen, wenn der Durchsatz erhöht wird. Das E/A-Subsystem oder speichermodul ist eine schlüsselkomponente jeder relationalen Datenbank. Eine erfolgreiche Datenbankimplementierung erfordert in der Regel eine sorgfältige Planung in den frühen Phasen eines Projekts. Diese Planung sollte die folgenden Aspekte berücksichtigen:
Welche Art von Datenträgerhardware verwendet werden soll, z. B. RAID (redundantes Array von unabhängigen Datenträgern).
So wird's gezeigt, wie Sie Daten auf den Datenträgern mithilfe von Dateien und Dateigruppen aufteilen. Weitere Informationen zur Verwendung von Dateien und Dateigruppen in SQL Server finden Sie unter Datenbankdateien und Dateigruppen.
Implementieren des optimalen Indexdesigns zur Verbesserung der Leistung beim Zugriff auf Daten. Weitere Informationen zum Entwerfen von Indizes finden Sie unter Entwerfen von Indizes.
Festlegen von SQL Server-Konfigurationsparametern für optimale Leistung. Weitere Informationen zum Festlegen optimaler Konfigurationsparameter für SQL Server finden Sie unter Serverkonfigurationsoptionen.
Eines der wichtigsten Entwurfsziele von BizTalk Server besteht darin, sicherzustellen, dass eine Nachricht nie verloren geht. Um die Möglichkeit eines Nachrichtenverlusts zu mindern, werden Nachrichten häufig in die MessageBox-Datenbank geschrieben, während die Nachricht verarbeitet wird. Wenn Nachrichten von einer Orchestrierung verarbeitet werden, wird die Nachricht an jedem Persistenzpunkt der Orchestrierung in die MessageBox-Datenbank geschrieben. Diese Persistenzpunkte führen dazu, dass das MessageBox-Objekt die Nachricht und den zugehörigen Zustand auf einen physischen Datenträger schreibt. Bei höheren Durchsätzen kann diese Persistenz zu beträchtlichen Festplattenkonflikten führen und möglicherweise zu einem Engpass werden.
Die optimale Verwendung der Datei- und Dateigruppenfunktion in SQL Server wurde gezeigt, um Datei-E/A-Engpässe effektiv zu beheben und die Gesamtleistung in BizTalk Server-Lösungen zu verbessern.
Hinweis
Diese Optimierung sollte nur von einem erfahrenen SQL Server-Datenbankadministrator durchgeführt werden, und erst, nachdem alle BizTalk Server-Datenbanken ordnungsgemäß gesichert wurden. Diese Optimierung sollte auf allen SQL Server-Computern in der BizTalk Server-Umgebung ausgeführt werden.
SQL Server-Dateien und Dateigruppen können verwendet werden, um die Datenbankleistung zu verbessern, da diese Funktionalität die Erstellung einer Datenbank über mehrere Datenträger, mehrere Datenträgercontroller oder RAID -Systeme (redundantes Array unabhängiger Datenträger) ermöglicht. Wenn Ihr Computer z. B. vier Datenträger enthält, können Sie eine Datenbank erstellen, die aus drei Datendateien und einer Protokolldatei besteht, mit einer Datei auf jedem Datenträger. Wenn auf Daten zugegriffen wird, können vier Lese-/Schreibköpfe parallel auf die Daten zugreifen. Dadurch werden Datenbankvorgänge erheblich beschleunigt. Weitere Informationen zur Implementierung von Hardwarelösungen für SQL Server-Datenträger finden Sie unter Datenbankleistung in den SQL Server-Büchern Online.
Darüber hinaus ermöglichen Dateien und Dateigruppen die Datenplatzierung, da Tabellen in bestimmten Dateigruppen erstellt werden können. Dies verbessert die Leistung, da alle Datei-E/A für eine bestimmte Tabelle auf einen spezifischen Datenträger gerichtet werden kann. Beispielsweise kann eine stark verwendete Tabelle in einer Datei in einer Dateigruppe platziert werden, die sich auf einem Datenträger befindet, und die anderen weniger stark zugänglichen Tabellen in der Datenbank können sich auf verschiedenen Dateien in einer anderen Dateigruppe befinden, die sich auf einem zweiten Datenträger befindet.
Datei-E/A-Engpässe werden in Engpässen auf der Datenbankebene ausführlich behandelt. Der häufigste Indikator dafür, dass Datei-E/A (Datenträger-E/A) ein Engpass ist, ist der Wert des Zählers "Physischer Datenträger:Durchschnittliche Datenträgerwarteschlangenlänge". Wenn der Wert des Indikators "Physischer Datenträger:Durchschnittliche Datenträgerwarteschlangenlänge" für jeden bestimmten Datenträger auf einem der Computer, auf denen SQL Server ausgeführt wird, größer als 3 ist, ist es wahrscheinlich, dass die Datei-E/A ein Engpass ist.
Wenn beim Anwenden der Datei- oder Dateigruppenoptimierung kein Problem mit einem Datei-E/A-Engpass behoben wird, kann es erforderlich sein, den Durchsatz des Datenträgersubsystem zu erhöhen, indem zusätzliche physische oder SAN-Laufwerke hinzugefügt werden.
In diesem Thema wird beschrieben, wie Sie Datei- und Dateigruppenoptimierungen manuell anwenden, aber diese Optimierungen können auch skripted werden. Ein SQL-Beispielskript wird in BizTalk Server MessageBox Database Filegroups SQL Script bereitgestellt.
Hinweis
Es ist wichtig zu beachten, dass dieses Skript geändert werden muss, um die Datei-, Dateigruppen- und Datenträgerkonfiguration, die von den SQL Server-Datenbanken für eine bestimmte BizTalk Server-Lösung verwendet wird, aufzunehmen.
Datenbanken, die mit einer Standardmäßigkonfiguration von BizTalk Server erstellt wurden
Je nachdem, welche Features beim Konfigurieren von BizTalk Server aktiviert sind, können bis zu 13 verschiedene Datenbanken in SQL Server erstellt werden, und alle diese Datenbanken werden in der Standarddateigruppe erstellt. Die Standarddateigruppe für SQL Server ist die PRIMARY-Dateigruppe, es sei denn, die Standarddateigruppe wird mithilfe des BEFEHLS ALTER DATABASE geändert. In der folgenden Tabelle sind die Datenbanken aufgeführt, die in SQL Server erstellt werden, wenn beim Konfigurieren von BizTalk Server alle Features aktiviert sind.
BizTalk Server-Datenbanken
Datenbank | Standarddatenbankname | BESCHREIBUNG |
---|---|---|
Konfigurationsdatenbank | BizTalkMgmtDb | Der zentrale Metainformationsspeicher für alle Instanzen von BizTalk Server in der BizTalk Server-Gruppe. |
BizTalk MessageBox-Datenbank | BizTalkMsgBoxDb | Speichert Abonnements-Prädikate. Es handelt sich um eine Hostplattform und behält Warteschlangen und Zustandstabellen für jeden BizTalk Server-Host bei. Die MessageBox-Datenbank speichert auch die Nachrichten- und Nachrichteneigenschaften. |
BizTalk Tracking-Datenbank | BizTalkDTADb | Speichert Geschäfts- und Gesundheitsüberwachungsdaten, die vom Überwachungsmodul des BizTalk Servers nachverfolgt werden. |
BAM-Analysedatenbank | BAM-Analyse | SQL Server Analysis Services-Datenbank, die aggregierte Verlaufsdaten für Geschäftsaktivitäten speichert. |
BAM Star-Schemadatenbank | BAMStarSchema | Transformiert die Daten, die aus dem Business Activity Monitoring für die OLAP-Verarbeitung gesammelt werden. Diese Datenbank ist bei Verwendung der BAM-Analysedatenbank erforderlich. |
Haupt-BAM-Importdatenbank | BAMPrimärImport | Speichert die Ereignisse aus Geschäftsaktivitäten und fragt anschließend nach dem Fortschritt und den Daten der Aktivitätsinstanzen ab. Diese Datenbank führt auch Echtzeitaggregationen durch. |
BAM-Archivdatenbank | BAMArchive | Speichert Abonnement-Prädikate. Die BAM-Archivdatenbank minimiert die Anhäufung von Geschäftsaktivitätsdaten in der primären BAM-Importdatenbank. |
SSO-Datenbank | SSODB | Sicher speichert die Konfigurationsinformationen für Empfangsorte. Speichert Informationen für SSO-Partneranwendungen sowie die verschlüsselten Benutzeranmeldeinformationen für alle Partneranwendungen. |
Regel-Engine-Datenbank | BizTalkRuleEngineDb | Ablage für: – Richtlinien, die Sätze verwandter Regeln sind. - Vokabular, die Sammlungen benutzerfreundlicher, domänenspezifischer Namen für Datenverweise in Regeln sind. |
Verwaltungsdatenbank für Human Workflow Services | BizTalkHwsDb | Speichert administrative Informationen, die von den BizTalk Human Workflow Services benötigt werden. |
Trading Partner Management-Datenbank | Totale Produktive Instandhaltung (TPM) | Speichert Handelspartnerdaten für Business Activity Services (BAS). |
Überwachungsanalyseserver-Verwaltungsdatenbank | BizTalkAnalysisDb | Speichert OLAP-Cubes sowohl für Unternehmen als auch für die Gesundheitsüberwachung. |
Trennung von Datendateien und Protokolldateien
Wie bereits erwähnt, platziert eine BizTalk Server-Standardkonfiguration die MessageBox-Datenbank in einer einzelnen Datei in der Standarddateigruppe. Standardmäßig werden die Daten- und Transaktionsprotokolle für die MessageBox-Datenbank auf demselben Laufwerk und Pfad platziert. Dies geschieht, um Systeme mit einem einzigen Datenträger aufzunehmen. Eine einzelne Datei-/Dateigruppen-/Datenträgerkonfiguration ist in einer Produktionsumgebung nicht optimal . Um eine optimale Leistung zu erzielen, sollten die Datendateien und Protokolldateien auf separaten Datenträgern platziert werden.
Hinweis
Protokolldateien sind nie Teil einer Dateigruppe. Der Protokollspeicher wird getrennt vom Datenbereich verwaltet.
Die 80/20-Regel der Verteilung von BizTalk Server-Datenbanken
Die Hauptkonfliktquelle in den meisten BizTalk Server-Lösungen, entweder aufgrund von Datenträger-E/A-Konflikten oder aufgrund von Datenbankkonflikten, ist die BizTalk Server MessageBox-Datenbank. Dies gilt sowohl in Szenarien mit einzelnen als auch mit mehreren MessageBoxen. Es ist sinnvoll, davon auszugehen, dass so viel wie 80% des Werts der Verteilung von BizTalk-Datenbanken von der Optimierung der MessageBox-Datendateien und Protokolldateien stammen. Das unten beschriebene Beispielszenario konzentriert sich auf die Optimierung der Datendateien für eine MessageBox-Datenbank. Diese Schritte können dann bei Bedarf für andere Datenbanken befolgt werden. Wenn die Lösung beispielsweise umfangreiche Nachverfolgung erfordert, kann auch die Tracking-Datenbank optimiert werden.
Manuelles Hinzufügen von Dateien zur MessageBox-Datenbank, Schritt für Schritt
In diesem Abschnitt des Themas werden die Schritte beschrieben, die zum manuellen Hinzufügen von Dateien zur MessageBox-Datenbank befolgt werden können. In diesem Beispiel werden drei Dateigruppen hinzugefügt, und dann wird jeder Dateigruppe eine Datei hinzugefügt, um die Dateien für das MessageBox-Objekt auf mehrere Datenträger zu verteilen.
Manuelles Hinzufügen von Dateien zur MessageBox-Datenbank auf SQL Server
Öffnen Sie SQL Server Management Studio , um das Dialogfeld "Mit Server verbinden " anzuzeigen.
Geben Sie im Dialogfeld " Servernamen bearbeiten" des Dialogfelds " Mit Server verbinden " den Namen der SQL Server-Instanz ein, die die BizTalk Server MessageBox-Datenbanken enthält, und klicken Sie auf "Verbinden" , um SQL Server Management Studio anzuzeigen. Erweitern Sie im Bereich „Objekt-Explorer“ von SQL Server Management Studio Datenbanken, um die Datenbanken für diese Instanz von SQL Server anzuzeigen.
Klicken Sie mit der rechten Maustaste auf die Datenbank, der die Dateien hinzugefügt werden sollen, und klicken Sie dann auf 'Eigenschaften ', um das Dialogfeld 'Datenbankeigenschaften ' für die Datenbank anzuzeigen.
Wählen Sie im Dialogfeld "Datenbankeigenschaften " die Seite " Dateigruppen" aus. Klicken Sie auf "Hinzufügen" , um zusätzliche Dateigruppen für die BizTalkMsgBoxDb-Datenbanken zu erstellen. Im folgenden Beispiel werden drei zusätzliche Dateigruppen hinzugefügt.
Wählen Sie im Dialogfeld "Datenbankeigenschaften " die Seite "Dateien " aus.
Um weitere Dateien zu den Dateigruppen hinzuzufügen, klicken Sie auf "Hinzufügen" und dann auf "OK". Die MessageBox-Datenbank wird jetzt auf mehrere Datenträger verteilt, was einen erheblichen Leistungsvorteil gegenüber einer einzelnen Datenträgerkonfiguration bietet.
Im folgenden Beispiel wird eine Datei für jede zuvor erstellte Dateigruppe erstellt, und jede Datei wird auf einem separaten Datenträger platziert.
Sql-Beispielskript zum Hinzufügen von Dateigruppen und Dateien zur BizTalk MessageBox-Datenbank
Dieses Handbuch enthält ein SQL-Skript zum Hinzufügen von Dateigruppen und Dateien zur BizTalk Server MessageBox-Datenbank.
Hinweis
Da SQL Server sequenziell in seine Protokolldateien schreibt, besteht kein Leistungsvorteil, indem mehrere Protokolldateien für eine SQL Server-Datenbank erstellt werden.
Führen Sie zum Ausführen dieses Skripts die folgenden Schritte aus:
Öffnen Sie SQL Server Management Studio , um das Dialogfeld "Mit Server verbinden " anzuzeigen.
Geben Sie im Dialogfeld " Servername bearbeiten" des Dialogfelds " Mit Server verbinden " den Namen der SQL Server-Instanz ein, die die BizTalk Server MessageBox-Datenbanken enthält, und klicken Sie auf "Verbinden" , um das Dialogfeld "SQL Server Management Studio" anzuzeigen.
Klicken Sie in SQL Server Management Studio auf das Menü "Datei ", zeigen Sie auf "Neu", und klicken Sie dann auf "Abfrage mit aktueller Verbindung" , um den SQL-Abfrage-Editor zu starten.
Kopieren Sie das Beispielskript aus bizTalk Server MessageBox Database Filegroups SQL Script in den Abfrage-Editor.
Bearbeiten Sie die Parameter im Skript so, dass sie Ihrer BizTalk Server-Umgebung entsprechen, und führen Sie das Skript aus.
Der Vorteil des Scripting besteht darin, dass Skripte mehrere Aufgaben schnell ausführen können, präzise reproduziert werden können und die Möglichkeit menschlicher Fehler verringert wird. Der Nachteil der Skripterstellung besteht darin, dass die Ausführung eines falsch geschriebenen Skripts möglicherweise schwerwiegende Probleme verursachen kann, die erfordern könnten, dass die BizTalk Server-Datenbanken von Grund auf neu konfiguriert werden müssen.
Von Bedeutung
Es ist von größter Bedeutung, dass SQL-Skripts wie das Beispielskript in diesem Handbuch gründlich getestet werden, bevor sie in einer Produktionsumgebung ausgeführt werden.