Verwalten und Behandeln von Problemen mit BizTalk Server Datenbanken

Dieser Artikel enthält ausführliche Informationen zum Verwalten und Behandeln von Problemen mit BizTalk Server Datenbanken.

Ursprüngliche Produktversion: BizTalk Server Datenbanken
Ursprüngliche KB-Nummer: 952555

Zusammenfassung

Die Integrität der Microsoft BizTalk Server-Datenbanken ist wichtig für eine erfolgreiche BizTalk Server Messagingumgebung. In diesem Artikel werden wichtige Aspekte erläutert, die Beim Arbeiten mit BizTalk Server Datenbanken zu beachten sind. Zu diesen Überlegungen gehören die folgenden:

  • Sie müssen die auto update statistics Optionen und auto create statistics SQL Server deaktivieren.
  • Sie müssen die max degree of parallelism Option (MAXDOP) richtig festlegen.
  • Bestimmen Sie, wann Sie BizTalk Server Indizes neu erstellen können.
  • Sperren, Deadlocks oder Blockierungen können auftreten.
  • Möglicherweise treten Probleme mit großen Datenbanken oder Tabellen auf.
  • BizTalk SQL Server-Agent Aufträge.
  • Dienstinstanzen können angehalten werden.
  • Möglicherweise treten SQL Server und BizTalk Server Leistungsprobleme auf.
  • Befolgen Sie die bewährten Methoden in BizTalk Server.

Einführung

In diesem Artikel wird beschrieben, wie Sie BizTalk Server Datenbanken verwalten und probleme mit BizTalk Server Datenbank beheben.

Sie müssen die Optionen für automatisches Erstellen von Statistiken und automatisches Aktualisieren von Statistiken deaktivieren.

Sie müssen die auto create statistics Optionen und auto update statistics für die BizTalkMsgBoxDb Datenbank deaktiviert lassen. Um zu bestimmen, ob diese Einstellungen deaktiviert sind, führen Sie die folgenden gespeicherten Prozeduren in SQL Server aus:

EXEC sp_dboption 'BizTalkMsgBoxDB', 'auto create statistics'
EXEC sp_dboption 'BizTalkMsgBoxDB', 'auto update statistics'

Sie sollten die aktuelle Einstellung auf offfestlegen. Wenn diese Einstellung auf onfestgelegt ist, deaktivieren Sie sie, indem Sie die folgenden gespeicherten Prozeduren in SQL Server ausführen:

EXEC sp_dboption 'BizTalkMsgBoxDB', 'auto create statistics', 'off'
EXEC sp_dboption 'BizTalkMsgBoxDB', 'auto update statistics', 'off'

Sie müssen die Eigenschaft Max. Grad der Parallelität richtig festlegen.

Legen Sie auf dem Computer, auf dem SQL Server ausgeführt wird und die BizTalkMsgBoxDb Datenbank hostet, den maximalen Grad an Parallelität run_value und config_value eigenschaften auf den Wert 1 fest. In späteren SQL-Versionen ist es auch möglich, diese Einstellung pro Datenbank und nicht pro SQL-instance anzugeben. Weitere Informationen finden Sie unter Festlegen von MAXDOP. Um die max degree of parallelism Einstellung zu bestimmen, führen Sie die folgende gespeicherte Prozedur für die Master-Datenbank in SQL Server aus:

EXEC sp_configure 'show advanced options', 1;
GO
EXEC sp_configure 'max degree of parallelism'

Wenn die run_value Eigenschaften und config_value nicht auf den Wert 1 festgelegt sind, führen Sie die folgende gespeicherte Prozedur in SQL Server aus, um sie auf 1 festzulegen:

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'max degree of parallelism', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO

Bestimmen, wann Sie BizTalk Server Indizes neu erstellen können

Die meisten BizTalk Server Indizes sind gruppiert (Index-ID: 1). Sie können die DBCC SHOWCONTIG SQL Server-Anweisung verwenden, um Fragmentierungsinformationen für die BizTalk Server Tabellen anzuzeigen.

Die BizTalk Server Indizes sind GUID-basiert. Daher tritt in der Regel eine Fragmentierung auf. Wenn der von der DBCC SHOWCONTIG Anweisung zurückgegebene Wert der Scandichte kleiner als 30 Prozent ist, kann die BizTalk Server Indizes während der Ausfallzeit neu erstellt werden.

Viele BizTalk Server Tabellen enthalten Spalten, die Definitionen verwendenDataType. Die Onlineindizierung kann in diesen Spalten nicht ausgeführt werden. Daher sollten Sie die BizTalk Server Indizes nie neu erstellen, während BizTalk Server Daten verarbeitet.

Sperren, Deadlocks oder Blockierungen können auftreten

In der Regel treten Sperren und Blöcke in einer BizTalk Server Umgebung auf. Diese Sperren oder Blöcke bleiben jedoch nicht für längere Zeit erhalten. Daher deuten Blockierungen und Deadlocks auf ein potenzielles Problem hin.

Möglicherweise treten Probleme mit großen Datenbanken oder Tabellen auf

Wir haben gesehen, dass bei BizTalkMsgBoxDb einer größeren Datenbank Leistungsprobleme auftreten können. Im Idealfall sollte die BizTalkMsgBoxDb Datenbank keine Daten enthalten. Die BizTalkMsgBoxDb Datenbank sollte als Puffer betrachtet werden, bis die Daten verarbeitet oder in die BizTalkDTADb BAM-Datenbank oder verschoben werden.

Eine Umgebung, die eine leistungsstarke SQL Server am Back-End und viele Orchestrierungen mit langer Ausführungszeit verwendet, kann über eine BizTalkMsgBoxDb Datenbank verfügen, die größer als 5 GB ist. Eine Umgebung mit hohem Volumen, die keine Orchestrierungen mit langer Ausführungszeit verwendet, sollte über eine BizTalkMsgBoxDb Datenbank verfügen, die viel kleiner als 5 GB ist.

Die BizTalkDTADb Datenbank hat keine festgelegte Größe. Wenn die Leistung jedoch abnimmt, ist die Datenbank wahrscheinlich zu groß. Für einige Kunden werden 20 GB möglicherweise als zu groß angesehen, während für andere 200 GB mit einem sehr starken SQL Server auf mehreren CPUs, viel Arbeitsspeicher und einem schnellen Netzwerk und Speicher problemlos funktionieren. Wenn Sie über große BizTalk Server Datenbanken verfügen, können die folgenden Probleme auftreten:

  • Die BizTalkMsgBoxDb Datenbank wächst weiter. Sowohl die Protokolldatei als auch die Datengröße bleiben jedoch groß.

  • BizTalk Server dauert länger als üblich, um selbst ein einfaches Nachrichtenflussszenario zu verarbeiten.

  • BizTalk-Verwaltungskonsole oder HAT-Abfragen (Health and Activity Tracking, Integritäts- und Aktivitätsnachverfolgung) dauern länger als üblich und können ein Timeout auftreten.

  • Die Datenbankprotokolldatei wird nie abgeschnitten.

  • Die BizTalk-SQL Server-Agent Aufträge werden langsamer als üblich ausgeführt.

  • Einige Tabellen sind größer oder enthalten im Vergleich zur üblichen Tabellengröße zu viele Zeilen.

Datenbanken können aus verschiedenen Gründen groß werden. Dies kann folgende Gründe sein:

  • BizTalk-SQL Server-Agent-Aufträge werden nicht ausgeführt
  • Große Anzahl an angehaltenen Instanzen
  • Datenträgerfehler
  • Gekoppelt
  • Einschränkung
  • SQL Server-Leistung
  • Netzwerklatenz

Stellen Sie sicher, dass Sie wissen, was in Ihrer Umgebung erwartet wird, um festzustellen, ob ein Datenproblem auftritt.

Standardmäßig ist die Nachverfolgung auf dem Standardhost aktiviert. BizTalk erfordert, dass die Option Hostnachverfolgung zulassen auf einem einzelnen Host aktiviert ist. Wenn die Nachverfolgung aktiviert ist, verschiebt der Tracking Data Decode Service (TDDS) die Nachverfolgungsereignisdaten aus der BizTalkMsgBoxDb Datenbank in die BizTalkDTADb Datenbank. Wenn der Nachverfolgungshost beendet wird, werden die Daten von TDDS nicht in die BizTalkDTADb Datenbank verschoben, und die TrackingData_x_x Tabellen in der BizTalkMsgBoxDb Datenbank werden vergrößert.

Es wird empfohlen, einen Host für die Nachverfolgung zu verwenden. Damit TDDS neue Nachverfolgungsereignisse in Szenarien mit hohem Volumen verwalten kann, erstellen Sie mehrere Instanzen eines einzelnen Nachverfolgungshosts. Es sollte nicht mehr als ein Nachverfolgungshost vorhanden sein.

Eine Tabelle kann zu viele Zeilen enthalten. Es gibt keine festgelegte Anzahl von Zeilen, die zu viele sind. Darüber hinaus variiert diese Anzahl von Zeilen je nach Art von Daten, die in der Tabelle gespeichert werden. Beispielsweise enthält eine dta_DebugTrace Tabelle mit mehr als einer Million Zeilen wahrscheinlich zu viele Zeilen. Eine <HostName>Q_Suspended Tabelle mit mehr als 200.000 Zeilen enthält wahrscheinlich zu viele Zeilen.

Verwenden der richtigen BizTalk-SQL Server-Agent-Aufträge

Die BizTalk-SQL Server-Agent-Aufträge sind wichtig für die Verwaltung der BizTalk Server Datenbanken und für die Aufrechterhaltung einer hohen Leistung.

Der Auftrag Backup BizTalk Server SQL Server-Agent ist die einzige unterstützte Methode zum Sichern der BizTalk Server Datenbanken, wenn SQL Server-Agent und die BizTalkServer-Hostinstanzen gestartet werden. Dieser Auftrag erfordert, dass alle BizTalk Server Datenbanken ein vollständiges Wiederherstellungsmodell verwenden. Sie sollten diesen Auftrag für eine fehlerfreie BizTalk Server-Umgebung konfigurieren. Die SQL Server-Methoden können nur dann zum Sichern der BizTalk Server Datenbanken verwendet werden, wenn SQL Server-Agent beendet und alle BizTalk Server Hostinstanzen beendet wurden.

Der MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server-Agent Auftrag wird unendlich ausgeführt. Daher zeigt der SQL Server-Agent Auftragsverlauf nie einen erfolgreichen Abschluss an. Wenn ein Fehler auftritt, wird der Auftrag innerhalb einer Minute neu gestartet und wird unendlich weiter ausgeführt. Daher können Sie den Fehler problemlos ignorieren. Darüber hinaus kann der Auftragsverlauf gelöscht werden. Sie sollten nur besorgt sein, wenn der Auftragsverlauf meldet, dass dieser Auftrag ständig fehlschlägt und neu gestartet wird.

Der MessageBox_Message_Cleanup_BizTalkMsgBoxDb SQL Server-Agent Auftrag ist der einzige BizTalk Server Auftrag, der nicht aktiviert werden sollte, da er vom MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server-Agent Auftrag gestartet wird.

Der DTA-Auftrag Bereinigen und Archivieren SQL Server-Agent hilft bei der Wartung der BizTalkDTADb Datenbank, indem nachverfolgte Nachrichten gelöscht und archiviert werden. Dieser Auftrag liest jede Zeile in der Tabelle und vergleicht den Zeitstempel, um zu bestimmen, ob der Datensatz entfernt werden soll.

Alle BizTalk SQL Server-Agent Aufträge mit Ausnahme des MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server-Agent Auftrags sollten erfolgreich ausgeführt werden.

Dienstinstanzen können angehalten werden

Dienstinstanzen können angehalten (fortsetzbar) oder angehalten (nicht fortsetzbar) werden. Diese Dienstinstanzen können Messaging, Orchestrierung oder Port sein.

Diese Dienstinstanzen können dazu führen, dass die BizTalkMsgBoxDb Datenbank unnötig wächst und beendet werden kann. Sie können den Gruppenhub verwenden, um Nachrichten abzufragen, fortzusetzen oder zu beenden. Sie können auch Terminate.vbs Skript- oder BizTalk-Systemüberwachung-Tool (BHM) verwenden, um BizTalk-Datenbanken abzufragen, zu bereinigen und zu verwalten. In einigen Situationen kann es verwaiste oder Zombie-Nachrichten im System geben. Das BHM-Tool kann dabei helfen, diese Situationen zu korrigieren.

Weitere Informationen zum Terminate.vbs Skripts finden Sie unter Entfernen von angehaltenen Dienstinstanzen.

Zwischenspeicherungsinstanzen werden auf der Seite "Gruppenhub " nicht angezeigt, und Sie können sie nicht anhalten oder beenden. Diese Einschränkung ist eine häufige Ursache für das Tabellenwachstum. Um neue Zombienachrichten für die Cachedienstinstanzen in BizTalk Server 2006 zu verhindern, installieren Sie den Hotfix im Microsoft Knowledge Base-Artikel 936536. Dieses Problem wurde in BizTalk Server 2006 R2 und höheren Versionen behoben.

Hinweis

Eine Zombie-Nachricht ist eine Nachricht, die weitergeleitet, aber nicht verbraucht wurde.

Eine Beschreibung der Zombie-Nachrichten finden Sie auf der folgenden MSDN-Website: WebLog der BizTalk Core Engine

Möglicherweise treten SQL Server und BizTalk Server Leistungsprobleme auf.

BizTalk Server macht Hunderte von kurzen, schnellen Transaktionen innerhalb einer Minute SQL Server. Wenn die SQL Server diese Aktivität nicht aufrechterhalten kann, können BizTalk Server Leistungsprobleme auftreten. Überwachen Sie in Leistungsmonitor die Leistungsindikatoren Durchschn. Datenträgers sek./Lesevorgänge, Durchschn. Datenträgers sekunde/Übertragung und Durchschn. Datenträgersek/Schreibvorgänge Leistungsmonitor im PhysicalDisk-Leistungsobjekt. Der optimale Wert beträgt weniger als 10 ms (Millisekunden). Ein Wert von 20 ms oder mehr wird als schlechte Leistung betrachtet.

Bewährte Methoden in BizTalk Server

Starten Sie SQL Server-Agent auf der SQL Server. Wenn die SQL Server-Agent beendet wird, können die integrierten BizTalk-SQL Server-Agent Aufträge, die für die Datenbankwartung verantwortlich sind, nicht ausgeführt werden. Dieses Verhalten verursacht datenbankwachstum, und dieses Wachstum kann Zu Leistungsproblemen führen.

Legen Sie die SQL Server LDF-Dateien (Log Database File) und Main Database File (MDF) auf separaten Laufwerken ab. Wenn sich die LDF- und MDF-Dateien für die BizTalkMsgBoxDb Datenbanken und BizTalkDTADb auf demselben Laufwerk befinden, kann es zu Datenträgerkonflikten kommen.

Wenn Sie nicht von der Nachverfolgung des Nachrichtentexts profitieren, aktivieren Sie dieses Feature nicht. Es ist jedoch eine gute Idee, die Nachverfolgung des Nachrichtentexts zu aktivieren, während Sie eine Lösung entwickeln und behandeln. Wenn Sie dies tun, stellen Sie sicher, dass Sie die Nachrichtentextnachverfolgung deaktivieren, wenn Sie fertig sind. Wenn die Nachrichtentextnachverfolgung aktiviert ist, wächst die BizTalk Server Datenbanken. Wenn ein Geschäftsbedarf besteht, der die Aktivierung der Nachrichtentextnachverfolgung erfordert, vergewissern Sie sich, dass die TrackedMessages_Copy_BizTalkMsgBoxDb Aufträge und DTA-Bereinigung und Archivieren SQL Server-Agent erfolgreich ausgeführt werden.

In der Regel führen kleinere Transaktionsprotokolle zu einer besseren Leistung. Um die Transaktionsprotokolle kleiner zu halten, konfigurieren Sie den Auftrag Backup BizTalk Server SQL Server-Agent so, dass er häufiger ausgeführt wird.

Die sp_ForceFullBackup gespeicherte Prozedur in der BizTalkMgmtDb Datenbank kann auch verwendet werden, um eine vollständige Ad-hoc-Sicherung der Daten- und Protokolldateien durchzuführen. Die gespeicherte Prozedur aktualisiert die adm_ForceFullBackup Tabelle mit dem Wert 1. Wenn der Auftrag Backup BizTalk Server nächstes Mal ausgeführt wird, wird ein vollständiger Datenbanksicherungssatz erstellt.

BizTalk-Systemüberwachung(BHM)-Tool kann verwendet werden, um eine vorhandene BizTalk Server-Bereitstellung auszuwerten. BHM führt zahlreiche datenbankbezogene Überprüfungen durch.

Problembehandlung

Die besten Schritte zur Problembehandlung für die BizTalk Server SQL Server Datenbanken hängen von der Art des Datenbankproblems ab, z. B. Blockierung oder Deadlocking. Führen Sie die folgenden Schritte aus, um ein BizTalk Server-Datenbankproblem zu beheben.

Schritt 1: Aktivieren und Ausführen aller erforderlichen BizTalk-SQL Server-Agent-Aufträge

Alle BizTalk SQL Server-Agent Aufträge mit Ausnahme des MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb Auftrags sollten aktiviert und erfolgreich ausgeführt werden. Deaktivieren Sie keinen anderen Auftrag.

Wenn ein Fehler auftritt, verwenden Sie die Option Verlauf anzeigen in SQL Server, um die Fehlerinformationen anzuzeigen und dann den Fehler entsprechend zu beheben. Denken Sie daran, dass der MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server-Agent Auftrag unendlich ausgeführt wird. Daher sollten Sie nur besorgt sein, wenn der Auftragsverlauf meldet, dass der Auftrag ständig fehlschlägt und neu gestartet wird.

Schritt 2: Verwenden des Tools BizTalk-Systemüberwachung (BHM)/MsgBoxViewer

Sammeln Sie einen BHM-Bericht, während Sie ein Problem reproduzieren.

Das BHM-Tool ist für die Problembehandlung nützlich, da es einen HTML-Bericht mit detaillierten Informationen zu Tabellengrößen und der Zeilenanzahl bereitstellt. Der Bericht kann auch helfen, zu bestimmen, ob BizTalk Server eine Drosselung ist. Darüber hinaus bietet das Tool eine Momentaufnahme Ansicht der BizTalk Server Datenbanken und der BizTalk Server Konfiguration.

Weitere Informationen zur Drosselung in BizTalk Server finden Sie unter Implementieren BizTalk Server Hostdrosselung.

Wenn BizTalk Server langsamer als üblich ausgeführt wird, führen Sie das BHM-Tool aus, und überprüfen Sie dann den generierten HTML-Bericht auf Probleme. Im Abschnitt Zusammenfassung sind warnungen gelb und potenzielle Probleme rot aufgeführt.

Darüber hinaus können Sie die Ausgabe des BHM-Tools verwenden, um zu bestimmen, welche Tabellen die größten sind und über die meisten Datensätze verfügen. In der folgenden Tabelle sind die BizTalk Server Tabellen aufgeführt, die in der Regel am größten sind. Anhand dieser Daten können Sie ermitteln, wo ein potenzielles Problem besteht.

Tabelle Beschreibung
<HostName>Q_Suspended Diese Tabelle enthält einen Verweis auf Nachrichten in der Tabelle, die Spool angehaltenen Instanzen für den jeweiligen Host zugeordnet sind. Diese Tabelle befindet sich in der BizTalkMsgBoxDb Datenbank.
<HostName>Q Diese Tabelle enthält einen Verweis auf Nachrichten in der Spool Tabelle, die dem jeweiligen Host zugeordnet sind und nicht angehalten werden. Diese Tabelle befindet sich in der BizTalkMsgBoxDb Datenbank.
Spool

Parts

Fragments
In diesen Tabellen werden die tatsächlichen Nachrichtendaten in der BizTalkMsgBoxDb Datenbank gespeichert.
Instances In dieser Tabelle werden alle Instanzen und deren aktuelle status in der BizTalkMsgBoxDb Datenbank gespeichert.
TrackingData_0_x Diese vier Tabellen speichern die nachverfolgten Ereignisse der Geschäftsaktivitätsüberwachung (BAM) in der BizTalkMsgBoxDb Datenbank, damit TDDS die Ereignisse in die BAMPrimaryImport Datenbank verschieben kann.
TrackingData_1_x Diese vier Tabellen speichern die nachverfolgten Ereignisse in der BizTalkMsgBoxDb Datenbank, damit TDDS die Ereignisse in die BizTalkDTADB Datenbank verschieben kann.
Tracking_Fragmentsx
Tracking_Partsx
Tracking_Spoolx
Zwei dieser Tabellen befinden sich in den BizTalkMsgBoxDb Datenbanken und BizTalkDTADb . Eine ist online, die andere offline.

In BizTalk Server 2004 SP2 und höheren Versionen verschiebt der TrackedMessages_Copy_BizTalkMsgBoxDb SQL Server-Agent Auftrag nachverfolgte Nachrichtentexte direkt in diese Tabellen in der BizTalkDTADb Datenbank.

In BizTalk Server 2004 Service Pack 1 (SP1) und in früheren Versionen von BizTalk Server 2004 kopiert der TrackedMessages_Copy_BizTalkMsgBoxDb SQL Server-Agent Auftrag nachverfolgte Nachrichtentexte in diese Tabellen in der BizTalkMsgBoxDb Datenbank. Der TrackingSpool_Cleanup_BizTalkMsgBoxDb SQL Server-Agent Auftrag löscht die Offlinetabellen und macht die Tabellen online, während der Auftrag auch die Onlinetabellen offline geschaltet.
dta_ServiceInstances In dieser Tabelle werden nachverfolgte Ereignisse für Dienstinstanzen in der BizTalkDTADb Datenbank gespeichert. Wenn diese Tabelle groß ist, ist die BizTalkDTADb Datenbank wahrscheinlich groß.
dta_DebugTrace In dieser Tabelle werden die Orchestrierungsdebuggerereignisse in der BizTalkDTADb-Datenbank gespeichert.
dta_MessageInOutEvents In dieser Tabelle werden nachverfolgte Ereignismeldungen in der BizTalkDTADb Datenbank gespeichert. Diese nachverfolgten Ereignismeldungen enthalten Nachrichtenkontextinformationen.
dta_ServiceInstanceExceptions In dieser Tabelle werden Fehlerinformationen für alle angehaltenen Dienste instance in der BizTalkDTADb Datenbank gespeichert.

Stellen Sie sich die folgenden Szenarien vor.

  • <HostName>Q_Suspended Tabellen

    Wenn die <HostName>Q_Suspended Tabellen viele Datensätze enthalten, können die Tabellen gültige angehaltene Instanzen sein, die im Group Hub oder in HAT angezeigt werden. Diese Instanzen können beendet werden. Wenn diese Instanzen nicht im Group Hub oder in HAT angezeigt werden, handelt es sich bei den Instanzen wahrscheinlich um Zwischenspeicherungsinstanzen oder verwaiste Routingfehlerberichte. Wenn angehaltene Instanzen beendet werden, werden die Elemente in dieser Tabelle und die zugehörigen Zeilen in den Spool Tabellen und Instances bereinigt.

    In diesem Szenario behandeln Sie die angehaltenen Instanzen, indem Sie sie fortsetzen oder beenden. Das BHM-Tool kann ebenfalls verwendet werden.

  • <HostName>Q Tabellen

    Wenn die <HostName>Q Tabellen viele Datensätze enthalten, können die folgenden Arten von Instanzen vorhanden sein:

    • Sofort einsatzbereite Instanzen
    • Aktive Instanzen
    • Dehydrierte Instanzen BizTalk Server benötigen Zeit, um die Instanzen aufzuholen und zu verarbeiten.

    Diese Tabelle kann wachsen, wenn die eingehende Verarbeitungsrate die ausgehende Verarbeitungsrate übertrifft. Dieses Szenario kann auftreten, wenn ein anderes Problem auftritt, z. B. bei einer großen BizTalkDTADb Datenbank oder SQL Server Datenträgerverzögerungen.

  • SpoolTabellen , Partsund Fragments

    Wenn die SpoolTabellen , Partsund Fragments über viele Datensätze verfügen, sind viele Nachrichten derzeit aktiv, dehydriert oder angehalten. Abhängig von der Größe, der Anzahl der Teile und den Fragmentierungseinstellungen in diesen Tabellen kann eine einzelne Nachricht alle diese Tabellen erzeugen. Jede Nachricht enthält genau eine Zeile in der Spool Tabelle und mindestens eine Zeile in der Parts Tabelle.

  • Instances Tabelle

    Der BizTalk-Administrator sollte nicht zulassen, dass viele angehaltene Instanzen in der Instances Tabelle verbleiben. Dehydrierte Instanzen sollten nur verbleiben, wenn die Geschäftslogik Orchestrierungen mit langer Ausführungsdauer erfordert. Denken Sie daran, dass ein Dienst instance vielen Nachrichten in der Spool Tabelle zugeordnet werden kann.

  • TrackingData_x_x Tabellen

    Wenn die TrackingData_x_x Tabellen groß sind, wird der Nachverfolgungshost (TDDS) nicht erfolgreich ausgeführt. Wenn der Nachverfolgungshost instance ausgeführt wird, überprüfen Sie die Ereignisprotokolle und die TDDS_FailedTrackingData Tabelle in der BizTalkDTADb Datenbank auf Fehlerinformationen. Wenn BizTalk mit dem Status 6 (große Datenbank) gedrosselt wird, können diese Tabellen auch mit dem BizTalk-Terminator-Tool abgeschnitten werden, wenn keine Daten benötigt werden.

    Wenn zwischen den Sequenznummern in den Tabellen und den BizTalkMsgBoxDbTrackingData_x_xBAMPrimaryImport Tabellen oder BizTalkDTADbTDDS_StreamStatus eine große Lücke besteht, werden die Daten von TDDS möglicherweise nicht aus der BizTalkMsgBoxDb Datenbank verschoben. Um dies zu beheben, verwenden Sie das BHM-Tool, um diese Tabellen zu bereinigen und die Sequenznummer zurückzusetzen.

  • dta_DebugTrace und dta_MessageInOutEvents Tabellen

    Die dta_DebugTrace Tabelle wird aufgefüllt, wenn Shape-Start und -Ende für eine Orchestrierung aktiviert sind. Wenn die dta_DebugTrace Tabelle viele Datensätze enthält, werden diese Orchestrierungsdebugereignisse verwendet oder verwendet. Wenn das Orchestrierungsdebuggen für reguläre Vorgänge nicht erforderlich ist, deaktivieren Sie das Kontrollkästchen Shape start and end in den Orchestrierungseigenschaften .

    Die dta_MessageInOutEvents Tabelle wird aufgefüllt, wenn senden und empfangen von Nachrichten für Orchestrierungen und/oder Pipelines aktiviert ist. Wenn diese Nachverfolgungsereignisse nicht benötigt werden, deaktivieren Sie das Kontrollkästchen für diese Option in den Orchestrierungs- und/oder Pipelineeigenschaften.

    Wenn diese Ablaufverfolgungsereignisse deaktiviert sind oder ein Backlog in der BizTalkMsgBoxDb Datenbank vorhanden ist, werden diese Tabellen möglicherweise weiter vergrößert, da TDDS diese Daten weiterhin in diese Tabellen verschet.

    Standardmäßig ist die globale Nachverfolgung aktiviert. Wenn die globale Nachverfolgung nicht erforderlich ist, kann sie deaktiviert werden. Weitere Informationen finden Sie unter Deaktivieren der globalen Nachverfolgung.

    Wenn die dta_DebugTrace Tabelle und/oder die dta_messageInOutEvents Tabelle in der BizTalkDTADb Datenbank zu groß sind, können Sie die Tabellen manuell abschneiden, nachdem Sie den Nachverfolgungshost beendet haben. Diese Funktionalität bietet auch das BHM-Tool.

    Um alle Nachverfolgungstabellen in der BizTalkMsgBoxDb Datenbank abzuschneiden, verwenden Sie das BHM-Tool. Das BHM-Tool ist extern im Microsoft Download Center verfügbar.

    Weitere Informationen zur Nachverfolgung von Richtlinien zur Größenanpassung von Datenbanken finden Sie auf der folgenden MSDN-Website: Richtlinien zur Nachverfolgung der Größenanpassung von Datenbanken.

  • dta_ServiceInstanceExceptions Tabelle

    Die dta_ServiceInstanceExceptions Tabelle wird in einer Umgebung, in der regelmäßig angehaltene Instanzen enthalten sind, in der Regel groß.

Schritt 3: Untersuchen von Deadlockszenarien

Aktivieren Sie in einem Deadlockszenario die DBCC-Ablaufverfolgung auf dem SQL Server, damit die Deadlockinformationen in das SQLERROR-Protokoll geschrieben werden.

Führen Sie in SQL Server 2005 und höheren Versionen die folgende Anweisung aus:

DBCC TRACEON (1222,-1)

Führen Sie in SQL Server 2000 die folgende Anweisung aus:

DBCC TRACEON (1204)

Verwenden Sie außerdem das Hilfsprogramm PSSDiag, um Daten zum Lock:Deadlock Ereignis und zum Lock:Deadlock Chain-Ereignis zu sammeln.

Bei BizTalkMsgBoxDB der Datenbank handelt es sich um eine OLTP-Datenbank (Online Transaction Processing) mit hohem Volumen und hoher Transaktionsmenge. Einige Deadlocks werden erwartet, und dieses Deadlocking wird intern von der BizTalk Server-Engine behandelt. Wenn dieses Verhalten auftritt, werden keine Fehler in den Fehlerprotokollen aufgeführt. Wenn Sie ein Deadlockszenario untersuchen, muss der Deadlock, den Sie in der Ausgabe untersuchen, mit einem Deadlockfehler in den Ereignisprotokollen korreliert werden.

Es wird erwartet, dass der Befehl dequeue und einige SQL Server-Agent Aufträge einen Deadlock aufweisen. In der Regel werden diese Aufträge als Deadlockopfer ausgewählt. Diese Aufträge werden in einer Deadlock-Ablaufverfolgung angezeigt. In den Ereignisprotokollen sind jedoch keine Fehler aufgeführt. Daher ist dieses Deadlocking zu erwarten, und Sie können das Deadlocking mit diesen Aufträgen problemlos ignorieren.

Wenn häufige Deadlocks in einer Deadlock-Ablaufverfolgung auftreten und ein korrelierender Fehler in den Ereignisprotokollen aufgeführt ist, können Sie den Deadlock verwenden.

Schritt 4: Suchen nach blockierten Prozessen

Verwenden Sie den Aktivitätsmonitor in SQL Server, um den Serverprozessbezeichner (SPID) eines Sperrsystemprozesses abzurufen. Führen Sie dann SQL Profiler aus, um die SQL-Anweisung zu ermitteln, die in der sperrenden SPID ausgeführt wird.

Um ein Sperr- und Blockierungsproblem in SQL Server zu beheben, verwenden Sie das Hilfsprogramm PSSDiag für SQL, um alle Transact-SQL-Ereignisse zu erfassen, für die das Blockierungsskript aktiviert ist.

In SQL Server 2005 und höheren Versionen können Sie die Einstellung für den Schwellenwert für blockierte Prozesse angeben, um zu bestimmen, welche SPID- oder SPIDs länger blockieren als der von Ihnen angegebene Schwellenwert.

Weitere Informationen zur Einstellung des Schwellenwerts für blockierte Prozesse finden Sie unter Serverkonfigurationsoption für den Schwellenwert für blockierte Prozesse.

Hinweis

Wenn in SQL Server ein Sperr- oder Blockierungsproblem aufgetreten ist, sollten Sie sich an den Microsoft-Kundendienst wenden. Microsoft Customer Support Services kann Ihnen helfen, die richtigen PsSDiag-Hilfsprogrammoptionen zu konfigurieren.

Schritt 5: Installieren des neuesten BizTalk Server Service Packs und kumulativen Updates

BizTalk Server höheren Versionen wurden auf ein CU-Modell (Kumulatives Update) umgestellt. Die kumulativen Updates enthalten die neuesten Fixes.

Löschen aller Daten

Wenn die Datenbanken zu groß sind oder wenn die bevorzugte Methode darin besteht, alle Daten zu löschen, können alle Daten gelöscht werden.

Achtung

Verwenden Sie diese Methode nicht in Umgebungen, in denen die Daten unternehmenskritisch sind oder wenn die Daten benötigt werden.

Schritte zum Löschen von BizTalkMsgBoxDb-Datenbanken

Verwenden Sie das Tool BizTalk-Systemüberwachung (BHM), um alle Daten in der BizTalkMsgBoxDb Datenbank zu löschen.

Optionen zum Löschen von BizTalkDTADb-Datenbanken

Verwenden Sie das Tool BizTalk-Systemüberwachung (BHM), um alle Daten aus der BizTalkDTADb Datenbank zu löschen. Verwenden Sie andernfalls eine der folgenden Methoden.

Hinweis

Während beide Methoden alle Nachrichten löschen, ist Methode 2 schneller.

  • Methode 1:

    1. Sichern Sie alle BizTalk Server Datenbanken.

    2. Führen Sie die gespeicherte dtasp_PurgeAllCompletedTrackingData Prozedur aus. Weitere Informationen zur gespeicherten dtasp_PurgeAllCompletedTrackingData Prozedur finden Sie unter Manuelles Bereinigen von Daten aus der BizTalk-Nachverfolgungsdatenbank.

      Hinweis

      Diese Aktion löscht alle abgeschlossenen Nachrichten.

  • Methode 2:

    1. Sichern Sie alle BizTalk-Datenbanken.

    2. Führen Sie die gespeicherte dtasp_CleanHMData Prozedur aus. Verwenden Sie diese Option nur, wenn die BizTalkDTADb Datenbank viele unvollständige Instanzen enthält, die entfernt werden müssen.

      Gehen Sie dazu wie folgt vor:

      1. Beenden Sie alle BizTalk-Hosts, -Dienste und benutzerdefinierten isolierten Adapter. Wenn Sie HTTP oder den SOAP-Adapter verwenden, starten Sie die IIS-Dienste neu.
      2. Führen Sie die dtasp_CleanHMData gespeicherte Prozedur für die BizTalkDTADb Datenbank aus.
      3. Starten Sie alle Hosts und BizTalk Server Dienste neu.

BizTalk Server 2004-Schritte

Hinweis

Wenn Sie über die Nachverfolgungsdaten verfügen müssen, sichern Sie die BizTalkDTADb Datenbank, stellen Sie die Datenbank auf einem anderen SQL Server wieder her, und löschen Sie dann die ursprüngliche BizTalkDTADb Datenbank.

Wenn Sie Hilfe beim Analysieren der BHM-Daten oder der PSSDiag-Ausgabe benötigen, wenden Sie sich an den Microsoft-Kundendienst. Eine vollständige Liste der Telefonnummern des Kundendiensts und Informationen zu Den Supportkosten finden Sie unter Kontakt Microsoft-Support.

Hinweis

Bevor Sie sich an den Kundendienst wenden, komprimieren Sie die BHM-Berichtsdaten, die PSSDiag-Ausgabe und die aktualisierten Ereignisprotokolle (EVT-Dateien). Möglicherweise müssen Sie diese Dateien an einen BizTalk Server Supporttechniker senden.

Gilt für

  • BizTalk Server 2009
  • BizTalk Server 2010
  • BizTalk Server 2013
  • BizTalk Server 2013 R2
  • BizTalk Server 2016
  • BizTalk Server 2020