Fehlerbehebung für hohe Wartezeiten bei der MessageBox-Datenbank

Idealerweise sollten sämtliche Nachrichten sofort nach Veröffentlichung in der MessageBox-Datenbank verarbeitet und übermittelt werden, und die MessageBox-Datenbank sollte keine unverhältnismäßige Größe erreichen. Außerdem sollten alle Nachrichten in der MessageBox, auf die nicht mehr verwiesen wird, sofort durch die Aufträge des SQL-Agents gelöscht werden, die die MessageBox-Datenbanktabellen regelmäßig bereinigen.

Tatsächlich werden Nachrichten jedoch selten in vorhersehbarer, linearer Weise empfangen, und das Bereinigen der MessageBox-Datenbanktabellen durch die Aufträge des SQL-Agents nimmt Zeit in Anspruch.

Daher kann die MessageBox in einigen Szenarien sehr schnell eine erhebliche Größe erreichen.

Durch folgende Elemente kann die MessageBox unverhältnismäßig groß und die Gesamtleistung beeinträchtigt werden:

  • Die Biztalk-Host-instance, für die die Option "Hostnachverfolgung zulassen" festgelegt ist, wird beendet. Dieser Host ist für das Verschieben der Überwachungsdaten aus der MessageBox-Datenbank in die BizTalk-Überwachungsdatenbank (BizTalkDTADb) zuständig.

  • SQL Server-Agent wird nicht ausgeführt. Dies kann vorkommen, wenn die SQL-Aufträge, die für das Verschieben von Daten aus der MessageBox-Datenbank in die BizTalkDTADb-Datenbank [anschließendes Bereinigen der verschobenen Daten in der MessageBox] verantwortlich sind, nicht ausgeführt werden. Um dieses Problem zu vermeiden, muss der SQL Agent-Dienst ständig ausgeführt werden.

  • SQL Server Aufträge sind deaktiviert Auch wenn der SQL Server-Agent ausgeführt wird, muss keiner der Standardaufträge SQL Server deaktiviert werden.

  • BizTalkDTADb-Datenbank wächst übermäßig Dies kann passieren, wenn die BizTalkDTADb-Datenbank sehr groß wird, was dazu führt, dass Einfügungen in die BizTalkDTADb-Datenbank länger dauern. Dadurch verringert sich die Geschwindigkeit der Datenverschiebung durch den TDDS-Dienst (Tracking Data Delivery Service), sodass in der MessageBox-Datenbank ein Rückstand entsteht. Um dieses Problem zu vermeiden, müssen die SQL Server-Aufträge für Archivierung und Bereinigung regelmäßig in den BizTalkDTADb-Datenbanken ausgeführt werden.

  • Übermäßige E/A-Latenz von Datenträgern Wenn die eingehende Datenrate in die MessageBox-Datenbank schneller ist als die, die das System verarbeiten und in die BizTalkDTADb-Datenbank verschieben kann, kann ein Backlog in der MessageBox-Datenbank erstellt werden. Wenn der Rückstand unvermindert zunimmt, wird mit der Zeit die Systemleistung beeinträchtigt. Dieses Problem kann u. a. durch die Installation schnellerer Datenträger und/oder eine Aktualisierung der Hardware gelöst werden. Das System verfügt so über die erforderlichen Kapazitäten, um entstandene Nachrichtenrückstände entsprechend zu verarbeiten.

Zukunftsorientierte Planung

Auch wenn die oben erläuterten empfohlenen Vorgehensweisen befolgt werden, nehmen die in die BizTalkDTADb-Datenbank verschobenen Überwachungsdaten mit der Zeit eine beträchtliche Größe an. Daher ist es wichtig, einen Datenbankwartungsplan zum regelmäßigen Archivieren der Überwachungsdaten zu implementieren, um eine optimale Systemleistung zu gewährleisten.

Die Menge der Verlaufsdaten, die in der BizTalkDTADb-Datenbank gespeichert werden können, ist vom Nachrichtendurchsatz im System abhängig. In Systemen mit geringer Auslastung und geringem Durchsatz nimmt die Größe dieser Datenbank langsamer zu, und in der BizTalkDTADb-Datenbank können mehr Verlaufsdaten gespeichert werden.

Um die Laufzeitleistung nicht zu beeinträchtigen, wird empfohlen, nur ein Minimum an Daten in der BizTalkDTADb-Datenbank zu speichern.