Verwalten und Beheben von Problemen BizTalk Server Datenbanken
Dieser Artikel enthält ausführliche Informationen zur Wartung und Problembehandlung BizTalk Server Datenbanken.
Ursprüngliche Produktversion: BizTalk Server Datenbanken
Ursprüngliche KB-Nummer: 952555
Zusammenfassung
Microsoft BizTalk Server Datenbanken und die Integrität der Datenbanken sind wichtig für eine erfolgreiche BizTalk Server Messagingumgebung. In diesem Artikel werden wichtige Aspekte erläutert, die Sie bei der Arbeit mit BizTalk Server Datenbanken berücksichtigen sollten. Zu diesen Überlegungen gehören:
- Sie müssen die
auto update statisticsoptionen undauto create statisticsSQL Server deaktivieren. - Sie müssen die Max Degree of Parallelism-Eigenschaft richtig festlegen.
- Bestimmen Sie, wann Sie BizTalk Server Indizes neu erstellen können.
- Sperren, Blockieren oder Blockieren 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.
- Sie sollten bewährte Methoden in BizTalk Server befolgen.
Einführung
In diesem Artikel wird beschrieben, wie Sie BizTalk Server Datenbanken verwalten und BizTalk Server Datenbankprobleme behandeln.
Sie müssen die Statistiken für die automatische Aktualisierung deaktivieren und Optionen für die automatische Erstellung von Statistiken erstellen.
Sie müssen die Optionen in auto update statistics der auto create statistics BizTalkMsgBoxDb Datenbank deaktiviert lassen. Um festzustellen, 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 CurrentSetting-Einstellung auf "Aus" festlegen. Wenn diese Einstellung aktiviert 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 Max Degree of Parallelism-Eigenschaft richtig festlegen.
Legen Sie auf dem Computer, auf dem SQL Server ausgeführt wird und die BizTalkMsgBoxDb Datenbank gehostet wird, den Maximalen Grad an Parallelität run_value und config_value Eigenschaften auf den Wert 1 fest. Führen Sie die folgende gespeicherte Prozedur für die Masterdatenbank in SQL Server aus, um die Einstellung für den maximalen Grad an Parallelität zu ermitteln:
exec sp_configure 'max degree of parallelism'
Wenn die run_value Eigenschaften nicht config_value 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 'max degree of parallelism', '1'
reconfigure with override
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 Fragmentisierungsinformationen 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 Scandichtewert kleiner als 30 Prozent ist, können 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 niemals neu erstellen, während BizTalk Server Daten verarbeitet.
Sperren, Blockieren oder Blockieren kann 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 einen längeren Zeitraum bestehen. Daher deuten Blockierung 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- oder CSV-Datenbank verschoben werden.
Eine Umgebung, die eine leistungsstarke SQL Server am Back-End und viele lange ausgeführte Orchestrierungen verwendet, verfügt möglicherweise über eine BizTalkMsgBoxDb Datenbank, die größer als 5 GB ist. Eine Umgebung mit hohem Volumen, die keine lange ausgeführten Orchestrierungen 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 sinkt, ist die Datenbank wahrscheinlich zu groß. Für einige Kunden werden 20 GB möglicherweise als zu groß betrachtet. während andere server mit sehr leistungsstarken SQL mit vielen CPUs, viel Arbeitsspeicher und sehr schnellem Netzwerk und Speicher mit 200 GB gut ausgeführt werden können. Wenn Sie über große BizTalk Server Datenbanken verfügen, treten möglicherweise die folgenden Probleme auf:
Die
BizTalkMsgBoxDbDatenbank wird weiter vergrößert. Die Protokolldatei und die Datengröße bleiben jedoch groß.BizTalk Server dauert länger als gewöhnlich, bis selbst ein einfaches Nachrichtenflussszenario verarbeitet wird.
BizTalk-Administratorkonsole oder Integritäts- und Aktivitätsverfolgungsabfragen (Health and Activity Tracking, HAT) dauern länger als gewöhnlich und können zu einem Timeout führen.
Die Datenbankprotokolldatei wird nie abgeschnitten.
Die BizTalk-SQL Server-Agent-Aufträge werden langsamer als gewohnt ausgeführt.
Einige Tabellen sind größer oder weisen im Vergleich zur üblichen Tabellengröße zu viele Zeilen auf.
Datenbanken können aus verschiedenen Gründen groß werden. Zu diesen Gründen können Folgendes gehören:
- BizTalk SQL Server Agent-Aufträge werden nicht ausgeführt
- Große Anzahl von 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 "Hostverfolgung zulassen" auf einem einzelnen Host aktiviert ist. Wenn die Nachverfolgung aktiviert ist, verschiebt der Tracking Data Decode Service (TDDS) die Tracking-Ereignisdaten 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 Trackinghosts. Es sollte nicht mehr als ein Nachverfolgungshost vorhanden sein.
Es kann zu viele Zeilen in einer Tabelle geben. Es gibt keine festgelegte Anzahl von Zeilen, die zu viele sind. Darüber hinaus hängt diese Anzahl von Zeilen davon ab, welche Art von Daten in der Tabelle gespeichert werden. Beispielsweise hat eine dta_DebugTrace Tabelle mit mehr als 1 Million Zeilen wahrscheinlich zu viele Zeilen. Eine HostNameQ_Suspended Tabelle mit mehr als 200.000 Zeilen hat 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 die Aufrechterhaltung der hohen Leistung.
Der Sicherungs-BizTalk Server SQL Server Agent-Auftrag ist die einzige unterstützte Methode zum Sichern der BizTalk Server Datenbanken, wenn SQL Server Agent und die BizTalkServer-Hostinstanzen gestartet werden. Für diesen Auftrag müssen 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 verwendet werden, um die BizTalk Server Datenbanken zu sichern, wenn SQL Server Agent beendet wird und alle BizTalk Server Hostinstanzen beendet werden.
Der MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server Agent-Auftrag wird unbegrenzt 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 unbegrenzt ausgeführt. Daher können Sie den Fehler problemlos ignorieren. Darüber hinaus kann der Auftragsverlauf gelöscht werden. Sie sollten sich nur sorgen, 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-Lösch- und Archivierungsauftrag SQL Server Agent hilft beim Verwalten 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 vergrößert wird und beendet werden kann. Sie können den Group Hub verwenden, um Nachrichten abzufragen, fortzusetzen oder zu beenden. Sie können auch Terminate.vbs Skript oder BHM-Tool (BizTalk-Systemüberwachung) zum Abfragen, Löschen und Verwalten von BizTalk-Datenbanken verwenden. In einigen Situationen können im System verwaiste oder neue Nachrichten vorhanden sein. Das BHM-Tool kann dazu beitragen, diese Situationen zu beheben.
Weitere Informationen zum skript Terminate.vbs finden Sie unter Entfernen angehaltener Dienstinstanzen.
Zwischenspeicherungsinstanzen werden nicht auf der Group Hub-Seite angezeigt, und Sie können sie nicht anhalten oder beenden. Diese Einschränkung ist eine häufige Ursache für das Wachstum von Tabellen. Um neue Nachrichten 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öher behoben.
Hinweis
Bei einer Nachricht handelt es sich um eine Nachricht, die weitergeleitet, aber nicht genutzt wurde.
Eine Beschreibung der Nachrichten finden Sie auf der folgenden MSDN-Website: WebLog des BizTalk Core-Moduls.
Möglicherweise treten SQL Server und BizTalk Server Leistungsprobleme auf.
BizTalk Server macht innerhalb einer Minute Hunderte kurzer, schneller Transaktionen zum SQL Server. Wenn die SQL Server diese Aktivität nicht unterstützen kann, können bei BizTalk Server Leistungsprobleme auftreten. Überwachen Sie im Leistungsmonitor die Leistungsindikatoren Avg. Disk sec/Read, Avg. Disk sec/Transfer und Avg. Disk sec/Write Performance Monitor counters in the PhysicalDisk performance object. Der optimale Wert ist kleiner als 10 ms (Millisekunden). Ein Wert von 20 ms oder größer wird als schlechte Leistung betrachtet.
Bewährte Methoden in BizTalk Server
Starten Sie SQL Server Agent auf dem SQL Server. Wenn der 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 Datenbankzuvermehrung, und dieses Wachstum kann Leistungsprobleme verursachen.
Platzieren Sie die SQL Server LDF- und MDF-Dateien auf separaten Laufwerken. Wenn sich die LDF- und MDF-Dateien für die BizTalkMsgBoxDb Datenbanken und BizTalkDTADb-Datenbanken auf demselben Laufwerk befinden, kann ein Datenträgerkonflikt auftreten.
Wenn Sie nicht von der Nachrichtentextnachverfolgung profitieren, aktivieren Sie dieses Feature nicht. Es empfiehlt sich jedoch, die Nachrichtentextverfolgung zu aktivieren, während Sie eine Lösung entwickeln und behandeln. Wenn Sie dies tun, stellen Sie sicher, dass Sie die Nachrichtentextverfolgung deaktivieren, wenn Sie fertig sind. Wenn die Nachrichtentextnachverfolgung aktiviert ist, werden die BizTalk Server Datenbanken vergrößert. Wenn es eine geschäftliche Notwendigkeit gibt, die Nachrichtentextverfolgung zu aktivieren, vergewissern Sie sich, dass die Aufträge für das TrackedMessages_Copy_BizTalkMsgBoxDb Löschen und Archivieren von Nachrichten und DTA SQL Server Agent erfolgreich ausgeführt werden.
Kleinere Transaktionsprotokolle führen in der Regel zu einer besseren Leistung. Um die Transaktionsprotokolle kleiner zu halten, konfigurieren Sie den Sicherungs-BizTalk Server SQL Server Agent-Auftrag so, dass er häufiger ausgeführt wird.
Die sp_ForceFullBackup gespeicherte Prozedur in der BizTalkMgmtDb-Datenbank kann auch verwendet werden, um eine ad-hoc-vollständige Sicherung der Daten und Protokolldateien durchzuführen. Die gespeicherte Prozedur aktualisiert die adm_ForceFullBackup Tabelle mit dem Wert 1. Wenn der Sicherungs-BizTalk Server-Auftrag das nächste 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 Prü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. blockieren oder blockieren. 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 beheben Sie den Fehler entsprechend. Denken Sie daran, dass der MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server Agent-Auftrag unbegrenzt ausgeführt wird. Daher sollten Sie sich nur sorgen, 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 nützlich für die Problembehandlung, da es einen HTML-Bericht mit detaillierten Informationen zu Tabellengrößen und der Zeilenanzahl bereitstellt. Der Bericht kann auch bei der Ermittlung helfen, ob BizTalk Server gedrosselt wird. Darüber hinaus bietet das Tool eine Momentaufnahme der BizTalk Server Datenbanken und der BizTalk Server Konfiguration.
Weitere Informationen zur Drosselung in BizTalk Server finden Sie unter How BizTalk Server Implements Host Throttling.
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. Der Abschnitt "Zusammenfassung " listet Warnungen in Gelb und potenzielle Probleme in Rot auf.
Darüber hinaus können Sie die BHM-Toolausgabe verwenden, um zu bestimmen, welche Tabellen die größten und die meisten Datensätze aufweisen. In der folgenden Tabelle sind die BizTalk Server Tabellen aufgeführt, die in der Regel die größte Erweiterung aufweisen. Anhand dieser Daten können Sie ermitteln, wo ein potenzielles Problem auftreten kann.
| Tabelle | Beschreibung |
|---|---|
| Hostname Q_Suspended | Diese Tabelle enthält einen Verweis auf Nachrichten in der Spooltabelle, die 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 Spooltabelle, die dem jeweiligen Host zugeordnet sind und nicht angehalten werden. Diese Tabelle befindet sich in der BizTalkMsgBoxDb-Datenbank. |
| Spool Teile Fragmente |
In diesen Tabellen werden die tatsächlichen Nachrichtendaten in der BizTalkMsgBoxDb-Datenbank gespeichert. |
| Instanzen | In dieser Tabelle werden alle Instanzen und deren aktueller Status in der BizTalkMsgBoxDb-Datenbank gespeichert. |
| TrackingData_0_ x | In diesen vier Tabellen werden die EREIGNISSE der Geschäftsaktivitätsüberwachung (BUSINESS Activity Monitoring, MOF) in der BizTalkMsgBoxDb-Datenbank für TDDS gespeichert, um die Ereignisse in die CSVPrimaryImport-Datenbank zu verschieben. |
| TrackingData_1_ x | Diese vier Tabellen speichern die nachverfolgten Ereignisse in der BizTalkMsgBoxDb-Datenbank für TDDS, um die Ereignisse in die BizTalkDTADB-Datenbank zu verschieben. |
| Tracking_Fragments x Tracking_Parts x Tracking_Spool x |
Zwei dieser Tabellen befinden sich in den BizTalkMsgBoxDb- und BizTalkDTADb-Datenbanken. Einer ist online, der andere offline. In BizTalk Server 2004 SP2 und in späteren Versionen verschiebt der TrackedMessages_Copy_BizTalkMsgBoxDb SQL Server Agent-Auftrag nachverfolgte Nachrichtentext 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 Nachrichtentext 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 macht. |
| 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 Orchestration-Debuggerereignisse 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 Dienstinstanzen in der BizTalkDTADb-Datenbank gespeichert. |
Stellen Sie sich die folgenden Szenarien vor.
HostNameQ_Suspended Tabellen
Wenn die
HostNameQ_SuspendedTabellen über viele Datensätze verfügen, können es sich bei den Tabellen um gültige angehaltene Instanzen handeln, die in 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, werden in den Instanzen wahrscheinlich Instanzen zwischengespeichert oder Fehlerberichte für verwaistes Routing. Wenn angehaltene Instanzen beendet werden, werden die Elemente in dieser Tabelle und die zugehörigen Zeilen in den Tabellen "Spool" und "Instances" bereinigt.Behandeln Sie in diesem Szenario die angehaltenen Instanzen, indem Sie sie fortsetzen oder beenden. Das BHM-Tool kann auch verwendet werden.
HostNameQ-Tabellen
Wenn die
HostNameQTabellen über viele Datensätze verfügen, können die folgenden Arten von Instanzen vorhanden sein:- Sofort einsatzbereite Instanzen
- Aktive Instanzen
- Deemonierte Instanzen BizTalk Server benötigt Zeit, um die Instanzen nachzuholen und zu verarbeiten.
Diese Tabelle kann größer werden, wenn die eingehende Verarbeitungsrate die ausgehende Verarbeitungsrate überschreitet. Dieses Szenario kann auftreten, wenn ein anderes Problem auftritt, z. B. eine große
BizTalkDTADbDatenbank oder SQL Server Datenträgerverzögerungen.Tabellen "Spool", "Parts" und "Fragments"
Wenn die Tabellen "Spool", "Parts" und "Fragments" viele Datensätze haben, sind viele Nachrichten derzeit aktiv, deaktiv oder angehalten. Abhängig von der Größe, der Anzahl der Teile und den Fragmentierungseinstellungen in diesen Tabellen kann eine einzelne Meldung alle diese Tabellen enthalten. Jede Nachricht enthält genau eine Zeile in der Spooltabelle 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. Deemonierte Instanzen sollten nur bestehen bleiben, wenn geschäftslogik lange ausgeführte Orchestrierungen erfordert. Denken Sie daran, dass eine Dienstinstanz vielen Nachrichten in der Spooltabelle zugeordnet werden kann.
TrackingData_x_x Tabellen
Wenn die
TrackingData_x_xTabellen groß sind, wird der Tracking-Host (TDDS) nicht oder nicht erfolgreich ausgeführt. Wenn die Nachverfolgungshostinstanz ausgeführt wird, überprüfen Sie die Ereignisprotokolle und dieTDDS_FailedTrackingDataTabelle in derBizTalkDTADbDatenbank auf Fehlerinformationen. Wenn BizTalk mit dem Status 6 (große Datenbank) gedrosselt wird, können diese Tabellen auch mithilfe des BizTalk Terminator-Tools abgeschnitten werden, wenn keine Daten benötigt werden.Wenn zwischen den Sequenznummern in den Tabellen und
TDDS_StreamStatusBizTalkDTADbBAMPrimaryImportdenBizTalkMsgBoxDbTrackingData_x_xTabellen ein großer Abstand besteht, werden die Daten von TDDS möglicherweise nicht aus derBizTalkMsgBoxDbDatenbank verschoben. Um dies zu beheben, verwenden Sie das BHM-Tool, um diese Tabellen zu löschen und die Sequenznummer zurückzusetzen.dta_DebugTrace Tabelle und dta_MessageInOutEvents
Die
dta_DebugTraceTabelle wird aufgefüllt, wenn Shape-Start und -Ende für eine Orchestrierung aktiviert sind. Wenn diedta_DebugTraceTabelle viele Datensätze aufweist, werden diese Orchestrierungsdebuggingereignisse verwendet oder verwendet. Wenn das Orchestrierungsdebugging für reguläre Vorgänge nicht erforderlich ist, deaktivieren Sie das Kontrollkästchen für die Start- und Endoption des Shapes in den Orchestrierungseigenschaften.Die
dta_MessageInOutEventsTabelle wird aufgefüllt, wenn das Senden und Empfangen von Nachrichten in Orchestrierungen und/oder Pipelines aktiviert ist. Wenn diese Nachverfolgungsereignisse nicht erforderlich sind, 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
BizTalkMsgBoxDbDatenbank vorhanden ist, können diese Tabellen weiter wachsen, da TDDS diese Daten weiterhin in diese Tabellen verschebt.Standardmäßig ist die globale Nachverfolgung aktiviert. Wenn die globale Nachverfolgung nicht erforderlich ist, kann sie deaktiviert werden. Weitere Informationen finden Sie unter "So deaktivieren Sie die globale Nachverfolgung".
Wenn die
dta_DebugTraceTabelle und/oder diedta_messageInOutEventsTabelle in derBizTalkDTADbDatenbank zu groß sind, können Sie die Tabellen manuell abschneiden, nachdem Sie den Nachverfolgungshost beendet haben. Das BHM-Tool stellt auch diese Funktionalität bereit.Verwenden Sie das BHM-Tool, um alle Nachverfolgungstabellen in der
BizTalkMsgBoxDbDatenbank zu kürzen. Das BHM-Tool ist extern im Microsoft Download Center verfügbar.Weitere Informationen zum Nachverfolgen von Richtlinien für die Datenbankgröße finden Sie auf der folgenden MSDN-Website: Richtlinien für die Nachverfolgung der Datenbankgröße.
dta_ServiceInstanceExceptions Tabelle
Die
dta_ServiceInstanceExceptionsTabelle wird in der Regel in einer Umgebung groß, in der regelmäßig Angehaltene Instanzen vorhanden sind.
Schritt 3: Untersuchen von Deadlockszenarien
Aktivieren Sie in einem Deadlockszenario die DBCC-Ablaufverfolgung für die SQL Server, sodass die Deadlockinformationen in das SQLERROR-Protokoll geschrieben werden.
Führen Sie in SQL Server 2005 und höher die folgende Anweisung aus:
DBCC TRACEON (1222,-1)
Führen Sie in SQL Server 2000 die folgende Anweisung aus:
DBCC TRACEON (1204)
Verwenden Sie darüber hinaus das Hilfsprogramm PSSDiag, um Daten zu dem Lock:Deadlock Ereignis und dem Lock:Deadlock Chain-Ereignis zu sammeln.
Die BizTalkMsgBoxDB Datenbank ist eine OLTP-Datenbank (Online Transaction Processing) mit hohem Volumen und hoher Transaktion. Es wird eine Blockierung erwartet, die intern vom BizTalk Server-Modul behandelt wird. 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.
Der Befehl "dequeue" und einige SQL Server Agent-Aufträge werden voraussichtlich als Deadlocks verwendet. In der Regel werden diese Aufträge als Deadlock-Opfer ausgewählt. Diese Aufträge werden in einer Deadlock-Ablaufverfolgung angezeigt. In den Ereignisprotokollen werden jedoch keine Fehler aufgeführt. Daher wird dieses Deadlocking erwartet, und Sie können die Deadlocks bei diesen Aufträgen ignorieren.
Wenn häufige Deadlocks in einer Deadlock-Ablaufverfolgung auftreten und ein Korrelationsfehler in den Ereignisprotokollen aufgeführt ist, sollten 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.
Verwenden Sie zum Beheben eines Sperr- und Blockierungsproblems in SQL Server das Dienstprogramm PSSDiag for SQL, um alle Transact-SQL-Ereignisse zu erfassen, für die das blockierende Skript aktiviert ist.
In SQL Server 2005 und neueren Versionen können Sie die Einstellung für den Schwellenwert für blockierte Prozesse angeben, um zu bestimmen, welche SPID oder SPIDs länger als der angegebene Schwellenwert blockiert werden.
Weitere Informationen zum Schwellenwert für blockierte Prozesse finden Sie auf der folgenden MSDN-Website: Serverkonfigurationsoption für blockierte Prozesse.
Hinweis
Wenn ein Sperr- oder Sperrproblem in SQL Server auftritt, empfehlen wir, dass Sie sich an den Microsoft-Kundensupport 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 neueren Versionen wurden in ein kumuliertes Updatemodell (KU) verschoben. Die kumulativen Updates enthalten die neuesten Korrekturen.
Löschen aller Daten
Wenn die Datenbanken zu groß sind oder die bevorzugte Methode darin besteht, alle Daten zu löschen, können alle Daten gelöscht werden.
Achtung
Verwenden Sie diese Methode nicht in einer Umgebung, in der die Daten unternehmenskritisch sind oder wenn die Daten benötigt werden.
BizTalkMsgBoxDb-Datenbankbereinigungsschritte
Um alle Daten in der BizTalkMsgBoxDb Datenbank zu löschen, können Sie das Tool BizTalk-Systemüberwachung (BHM) verwenden.
Optionen für die Bereinigung von BizTalkDTADb-Datenbanken
Um alle Daten aus der BizTalkDTADb Datenbank zu löschen, können Sie das Tool BizTalk-Systemüberwachung (BHM) verwenden. Verwenden Sie andernfalls eine der folgenden Methoden.
Hinweis
Beide Methoden löschen alle Nachrichten. Methode 2 ist schneller.
Methode 1:
Sichern Sie alle BizTalk Server Datenbanken.
Führen Sie die gespeicherte
dtasp_PurgeAllCompletedTrackingDataProzedur aus. Weitere Informationen zurdtasp_PurgeAllCompletedTrackingDatagespeicherten Prozedur finden Sie unter How to Manually Purge Data from the BizTalk Tracking Database.Hinweis
Mit dieser Aktion werden alle abgeschlossenen Nachrichten gelöscht.
Methode 2:
Sichern Sie alle BizTalk-Datenbanken.
Führen Sie die gespeicherte
dtasp_CleanHMDataProzedur aus. Verwenden Sie diese Option nur, wenn dieBizTalkDTADbDatenbank viele unvollständige Instanzen enthält, die entfernt werden müssen.Gehen Sie dazu wie folgt vor:
Beenden Sie alle BizTalk-Hosts, -Dienste und benutzerdefinierten isolierten Adapter. Wenn Sie HTTP oder den SOAP-Adapter verwenden, starten Sie die IIS-Dienste neu.
Führen Sie die gespeicherte
dtasp_CleanHMDataProzedur in der Datenbank ausBizTalkDTADb.Starten Sie alle Hosts und BizTalk Server Dienste neu.
BizTalk Server Nur-2004-Schritte
Hinweis
Wenn Sie über die Nachverfolgungsdaten verfügen müssen, sichern Sie die BizTalkDTADb Datenbank, stellen Sie die Datenbank in einem anderen SQL Server wieder her, und löschen Sie dann die ursprüngliche BizTalkDTADb Datenbank.
Wenn Sie Hilfe zum Analysieren der BHM-Daten oder der PSSDiag-Ausgabe benötigen, wenden Sie sich an den Microsoft-Kundendienst. Eine vollständige Liste der Kundensupport-Telefonnummern und Informationen zu Supportkosten finden Sie unter Microsoft-Support.
Hinweis
Bevor Sie sich an den Kundensupport 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 Branch 2010
- BizTalk Server Developer 2010
- BizTalk Server Enterprise 2010
- BizTalk Server Standard 2010
- BizTalk Server 2009 Enterprise
- BizTalk Server 2009 Developer
- BizTalk Server 2009 Standard
- BizTalk Server 2009 Branch