Share via


Optimieren von Dateigruppen für die Datenbanken

Der Konflikt zwischen Dateieingabe und -ausgabe (E/A) ist in einer Produktionsumgebung BizTalk Server häufig ein einschränkender Faktor oder ein Engpass. BizTalk Server ist eine sehr datenbankintensive Anwendung, und die SQL Server Datenbank, die von BizTalk Server verwendet wird, ist sehr datei-E/A-intensiv. In diesem Thema wird beschrieben, wie Sie die Datei- und Dateigruppenfunktion von SQL Server optimal nutzen, um das Auftreten von Datei-E/A-Konflikten zu minimieren und die Gesamtleistung einer BizTalk Server Lösung zu verbessern.

Überblick

Bei jeder BizTalk Server Lösung treten schließlich Datei-E/A-Konflikte auf, da der Durchsatz erhöht wird. Das E/A-Subsystem oder die Speicher-Engine ist eine Schlüsselkomponente jeder relationalen Datenbank. Eine erfolgreiche Datenbankimplementierung bedarf in der Regel sorgfältiger Planung in den frühen Projektphasen. Bei der Planung sollten folgende Punkte berücksichtigt werden:

  • Welcher Datenträgertyp soll verwendet werden, beispielsweise RAID-Medien (Redundant Array of Independent Disks)?

  • So wird beschrieben, wie Sie Daten mithilfe von Dateien und Dateigruppen auf den Datenträgern auflisten. Weitere Informationen zur Verwendung von Dateien und Dateigruppen in SQL Server finden Sie unter Datenbankdateien und Dateigruppen.

  • Implementieren des optimalen Indexentwurfs zur Verbesserung der Leistung beim Zugriff auf Daten. Weitere Informationen zum Entwerfen von Indizes finden Sie unter Entwerfen von Indizes.

  • So legen Sie SQL Server Konfigurationsparameter für eine optimale Leistung fest. 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 das Risiko eines Nachrichtenverlusts zu minimieren, 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 in der Orchestrierung in die MessageBox-Datenbank geschrieben. Diese Persistenzpunkte führen dazu, dass messageBox die Nachricht und den zugehörigen Zustand auf einen physischen Datenträger schreibt. Bei höheren Durchsatz kann diese Persistenz zu erheblichen Datenträgerkonflikten führen und möglicherweise zu einem Engpass werden.

    Es wurde gezeigt, dass die optimale Nutzung der Datei- und Dateigruppenfunktion in SQL Server Datei-E/A-Engpässe effektiv beseitigt und die Gesamtleistung in BizTalk Server-Lösungen verbessert.

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 durchgefü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. über vier Datenträger verfügt, können Sie eine Datenbank erstellen, die drei Datendateien und eine Protokolldatei umfasst, wobei sich jede Datei auf einem anderen Datenträger befindet. Wenn auf Daten zugegriffen wird, können vier Lese-/Schreibköpfe gleichzeitig auf die Daten zugreifen. Dies beschleunigt Datenbankvorgänge erheblich. Weitere Informationen zum Implementieren von Hardwarelösungen für SQL Server Datenträger finden Sie unter Datenbankleistung in der SQL Server-Onlinedokumentation.

Darüber hinaus ermöglichen Dateien und Dateigruppen die Datenplatzierung, da Tabellen in bestimmten Dateigruppen erstellt werden können. Dadurch wird die Leistung verbessert, da alle Datei-E/A-Vorgänge für eine bestimmte Tabelle auf einen bestimmten Datenträger gerichtet werden können. Beispielsweise kann eine stark verwendete Tabelle in einer Dateigruppe auf einem Datenträger platziert werden, und die anderen Tabellen in der Datenbank, auf die weniger stark zugegriffen wird, können sich in verschiedenen Dateien in einer anderen Dateigruppe befinden, die sich auf einem zweiten Datenträger befindet.

Datei-E/A-Engpässe werden unter Engpässe in der Datenbankebene ausführlich erläutert. Der häufigste Indikator, dass Datei-E/A (Datenträger-E/A) ein Engpass ist, ist der Wert des Indikators "Physischer Datenträger:Durchschnittliche Datenträgerwarteschlangenlänge". Wenn der Wert des Indikators "Physischer Datenträger:Durchschnittliche Datenträgerwarteschlangenlänge" für einen bestimmten Datenträger auf einem der Computer, auf denen SQL Server ausgeführt wird, größer als 3 ist, ist die Datei-E/A wahrscheinlich ein Engpass.

Wenn durch das Anwenden der Datei- oder Dateigruppenoptimierung kein Problem mit einem Datei-E/A-Engpass behoben wird, ist es möglicherweise erforderlich, den Durchsatz des Datenträgersubsystems durch Hinzufügen zusätzlicher physischer oder SAN-Laufwerke zu erhöhen.

In diesem Thema wird beschrieben, wie Sie Datei- und Dateigruppenoptimierungen manuell anwenden, aber diese Optimierungen können auch in Skripts ausgeführt werden. Ein SQL-Beispielskript wird im SQL-Skript BizTalk Server MessageBox-Datenbankdateigruppen bereitgestellt.

Hinweis

Es ist wichtig zu beachten, dass dieses Skript geändert werden muss, um die Datei-, Dateigruppe- und Datenträgerkonfiguration zu berücksichtigen, die vom SQL Server Datenbanken für eine bestimmte BizTalk Server Lösung verwendet wird.

Datenbanken, die mit einer Standardkonfiguration BizTalk Server erstellt wurden

Je nachdem, welche Features beim Konfigurieren BizTalk Server aktiviert sind, können in SQL Server bis zu 13 verschiedene Datenbanken erstellt werden, und alle diese Datenbanken werden in der Standarddateigruppe erstellt. Die Standarddateigruppe für SQL Server ist die PRIMÄRE 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 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 speichert Warteschlangen und Zustandstabellen für jeden BizTalk Server Host. In der MessageBox-Datenbank werden auch die Nachrichten und Nachrichteneigenschaften gespeichert.
BizTalk-Überwachungsdatenbank BizTalkDTADb Speichert Geschäfts- und Integritätsüberwachungsdaten, die von der BizTalk Server-Nachverfolgungs-Engine nachverfolgt werden.
BAM-Analysedatenbank BAMAnalysis SQL Server Analysis Services Datenbank, die die aggregierten Verlaufsdaten für Geschäftsaktivitäten speichert.
BAM-Sternschema-Datenbank BAMStarSchema Transformiert die Daten, die aus der Überwachung der Geschäftsaktivität für die OLAP-Verarbeitung gesammelt wurden. Diese Datenbank ist bei Verwendung der BAM-Analysedatenbank erforderlich.
Primäre BAM-Importdatenbank BAMPrimaryImport Speichert die Ereignisse aus Geschäftsaktivitäten und fragt dann nach dem Status und den Daten nach Aktivitätsinstanzen ab. Diese Datenbank führt auch Echtzeitaggregationen aus.
BAM-Archivdatenbank BAMArchive Speichert Abonnement-Prädikate. Die BAM-Archivdatenbank minimiert die Akkumulation von Geschäftsaktivitätsdaten in der primären BAM-Importdatenbank.
SSO-Datenbank SSODB Speichert die Konfigurationsinformationen für Empfangsstandorte sicher. Speichert Informationen zu SSO-Partneranwendungen sowie die verschlüsselten Benutzeranmeldeinformationen für alle Partneranwendungen.
Regel-Engine-Datenbank BizTalkRuleEngineDb Repository für:

- Richtlinien, bei denen es sich um Sätze verwandter Regeln handelt.
- Vokabularen, bei denen es sich um Sammlungen benutzerfreundlicher, domänenspezifischer Namen für Datenverweise in Regeln handelt.
Datenbank für die Verwaltung von Human Workflow Services BizTalkHwsDb Speichert administrative Informationen, die von BizTalk Human Workflow Services benötigt werden.
Handelspartnerverwaltungsdatenbank TPM Speichert Handelspartnerdaten für Business Activity Services (BAS).
Überwachungsdatenbank der Analysis Server-Verwaltung BizTalkAnalysisDb Speichert OLAP-Cubes für die Geschäfts- und Integritätsüberwachung.

Trennung von Datendateien und Protokolldateien

Wie bereits erwähnt, platziert eine Standardkonfiguration BizTalk Server 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 einzelnen Datenträger unterzubringen. Eine einzelne Datei-,Dateigruppen-/Datenträgerkonfiguration ist in einer Produktionsumgebung nicht optimal . Für eine optimale Leistung sollten die Datendateien und Protokolldateien auf separaten Datenträgern platziert werden.

Hinweis

Protokolldateien sind niemals Teil einer Dateigruppe. Der Speicherplatz in Protokolldateien wird unabhängig vom Datenspeicher verwaltet.

Die 80/20-Regel der Verteilung BizTalk Server Datenbanken

Die Standard Konfliktquelle in den meisten BizTalk Server Lösungen, entweder aufgrund von Datenträger-E/A-Konflikten oder Datenbankkonflikten, ist die BizTalk Server MessageBox-Datenbank. Dies gilt sowohl für Einzelne als auch für Mehrere MessageBox-Szenarien. Es ist sinnvoll anzunehmen, dass bis zu 80 % des Werts der Verteilung von BizTalk-Datenbanken aus der Optimierung der MessageBox-Datendateien und der Protokolldatei abgeleitet werden. 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 ausgeführt werden. Wenn die Lösung beispielsweise eine umfangreiche Nachverfolgung erfordert, kann auch die Tracking-Datenbank optimiert werden.

Schrittweises manuelles Hinzufügen von Dateien zur MessageBox-Datenbank

In diesem Abschnitt des Themas werden die Schritte beschrieben, die zum manuellen Hinzufügen von Dateien zur MessageBox-Datenbank ausgeführt 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

  1. Öffnen Sie SQL Server Management Studio, um das Dialogfeld Verbindung mit Server herstellen anzuzeigen.

    SQL Server Anmeldebildschirm

  2. Geben Sie im Dialogfeld Verbindung mit Server herstellen im Bearbeitungsfeld Servername den Namen der SQL Server instance 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 die Option Datenbanken, um die Datenbanken für diese instance SQL Server anzuzeigen.

    SQL Server 2005 Management Studio, Objekt-Explorer

  3. 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.

    SQL Server 2005 Dialogfeld

  4. 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.

    SQL Server 2005: Hinzufügen von Dateigruppen zu einer Datenbank

  5. Wählen Sie im Dialogfeld Datenbankeigenschaften die Seite Dateien aus.

    Um zusätzliche Dateien zu erstellen, die den Dateigruppen hinzugefügt werden sollen, klicken Sie auf Hinzufügen , und klicken Sie dann auf OK. Die MessageBox-Datenbank ist jetzt auf mehrere Datenträger verteilt, was gegenüber einer Konfiguration eines einzelnen Datenträgers einen erheblichen Leistungsvorteil bietet.

    Im folgenden Beispiel wird für jede zuvor erstellte Dateigruppe eine Datei erstellt, und jede Datei wird auf einem separaten Datenträger platziert.

    SQL Server 2005: Hinzufügen von Dateien zu einer Dateigruppe

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, wenn mehrere Protokolldateien für eine SQL Server-Datenbank erstellt werden.

Führen Sie die folgenden Schritte aus, um dieses Skript auszuführen:

  1. Öffnen Sie SQL Server Management Studio, um das Dialogfeld Verbindung mit Server herstellen anzuzeigen.

  2. Geben Sie im Dialogfeld Verbindung mit Server herstellen im Bearbeitungsfeld Servername den Namen der SQL Server instance ein, die die BizTalk Server MessageBox-Datenbanken enthält, und klicken Sie auf Verbinden, um das Dialogfeld SQL Server Management Studio anzuzeigen.

  3. 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 die SQL-Abfrage-Editor zu starten.

  4. Kopieren Sie das Beispielskript aus BizTalk Server SQL-Skript für MessageBox-Datenbankdateigruppen in die Abfrage-Editor.

  5. Bearbeiten Sie die Parameter im Skript so, dass sie Ihrer BizTalk Server-Umgebung entsprechen, und führen Sie das Skript aus.

    Der Vorteil der Skripterstellung besteht darin, dass Skripts mehrere Aufgaben schnell ausführen, präzise reproduziert werden können und die Wahrscheinlichkeit menschlicher Fehler verringern. Der Nachteil der Skripterstellung besteht darin, dass die Ausführung eines falsch geschriebenen Skripts möglicherweise zu schwerwiegenden Problemen führen kann, sodass die BizTalk Server Datenbanken von Grund auf neu konfiguriert werden müssen.

Wichtig

Es ist äußerst wichtig, dass SQL-Skripts wie das Beispielskript in diesem Handbuch gründlich getestet werden, bevor sie in einer Produktionsumgebung ausgeführt werden.

Weitere Informationen

Optimieren der Datenbankleistung