Erfahrung sperren, Deadlocks Vorschriften oder andere SQL Server-Probleme beim Verbinden mit der Datenbank BizTalkMsgBoxDb in BizTalk Server

Problembeschreibung

In Microsoft BizTalk Server Erfahrung sperren, Deadlocks Vorschriften oder anderen Microsoft SQL Server Probleme beim Verbinden mit der Datenbank BizTalkMsgBoxDb.

Ursache

Dieses Problem kann auftreten, wenn eine oder mehrere der folgenden Umstände zutreffen:
  • Die Statistiken automatisch erstellen in der Datenbank BizTalkMsgBoxDb aktiviert ist.
  • Die Auto Update Statistics auf die Datenbank BizTalkMsgBoxDb aktiviert ist.
  • Die Option Max. Grad an Parallelität soll einen anderen Wert als 1 auf dem Computer, auf dem SQL Server ausgeführt und, der als Host der Datenbank BizTalkMsgBoxDb.
  • Sie defragmentieren oder Neuerstellen eines Indexes in der Datenbank BizTalkMsgBoxDb Wenn BizTalk Server Daten verarbeitet.

Problemlösung

Um dieses Problem zu beheben, verwenden Sie eine der folgenden Methoden.

Methode 1: Deaktivieren Sie die Option Auto Create Statistics und Auto Update Statistics-option

Um dieses Problem zu beheben, deaktivieren Sie die Option Auto Create Statistics und Auto Update Statistics -Option in der Datenbank BizTalkMsgBoxDb in SQL Server.

Methode 2: Festlegen der Option max Degree of Parallelism auf 1

Legen Sie zum Beheben dieses Problems die Option Max. Grad an Parallelität auf 1 auf dem Computer mit SQL Server.

Methode 3: Führen Sie keinen Neuaufbau Index bei BizTalk Server-Datenverarbeitung

Um dieses Problem zu beheben, führen Sie nicht Bts_RebuildIndexes , gespeicherte Prozedur oder SQL-Befehle, die einen Index in einer BizTalk Server-Datenbank erstellt, wenn BizTalk Server Daten verarbeitet.

Hinweis Defragmentieren einen Index in einer BizTalk Server-Datenbank wird nicht unterstützt.

Weitere Informationen

Bts_RebuildIndexes, gespeicherte Prozedur

Die einzige unterstützte Methode neu erstellt einen Index in der Datenbank BizTalkMsgBoxDb werden Bts_RebuildIndexes gespeicherten Prozedur ausgeführt. Führen Sie auf BizTalk Server 2006 und späteren Versionen wie Dtasp_RebuildIndexes gespeicherten Indizes in der BizTalkDTADb-Datenbank neu erstellen.

Die meisten BizTalk-Indizes basieren auf GUID. Viele Tests haben gezeigt, wie die Tabellen nicht gescannt werden, besser identitätsbasierte Indizes für BizTalk-spezifische Arbeitslasten GUID-basierten Indizes durchführen können. Dies kann den Fragmentierung führen. Da Datenflüsse in Tabellen auf eine möglicherweise Fragmentierung verursacht jedoch keine Probleme. Viele Daten voraussichtlich in der BizTalkMsgBox-Datenbank erstellen, können Sie Indizes regelmäßig bei geplanten Ausfällen wiederherstellen. Die gleichen Richtlinien in der Überwachungsdatenbank.

DBCC DBREINDEX SQL-Befehl können Sie einen Index in der BizTalk Server-Datenbanken neu erstellen. Ein Beispiel, verwenden Sie den Befehl DBCC DBREINDEX SQL Maustaste Bts_RebuildIndexes gespeicherte Prozedur und klicken Sie dann auf Eigenschaften.

Hinweis Microsoft unterstützt nur das Neuerstellen von Datenbankindizes während der BizTalk Server-Ausfallzeiten. Sie sollten alle Hostinstanzen und SQL Server Agent beenden, bevor Sie einen Index neu erstellen. Beim Ausführen der Bts_RebuildIndexes gespeicherten Prozedur in BizTalk Server 2006 und späteren Versionen erhalten Sie eine der folgenden Fehlermeldungen angezeigt:
Fehlermeldung 1
Msg 5239, Ebene 16, Status 1, Prozedur Bts_RebuildIndexes Zeile 4
Objekt-ID 674101442 (Objekt 'TrackingData') konnte nicht verarbeitet
Dieser Befehl Database Consistency Checker (DBCC) unterstützt diese Art von Objekt.
Fehlermeldung 2
Msg 5239, Ebene 16, Status 1, Prozedur Bts_RebuildIndexes Zeile 4 keine Objekt-ID 722101613 ('TrackingData'-Objekt) verarbeiten, weil dieser DBCC-Befehl keine Objekte dieses Typs unterstützt.

Dieses Problem tritt auf, weil das TrackingData -Objekt auf BizTalk Server 2006 und späteren Versionen ist. Um dieses Problem zu beheben, gehen Sie folgendermaßen vor, und führen Sie Bts_RebuildIndexes gespeicherte Prozedur:
  1. Kommentieren Sie die folgende Zeile in Bts_RebuildIndexes gespeicherten Prozedur.
    DBCC DBREINDEX ('[dbo].[TrackingData]') WITH NO_INFOMSGS
  2. Fügen Sie die folgenden Zeilen der Bts_RebuildIndexes gespeicherten Prozedur.
    DBCC DBREINDEX ('[dbo].[TrackingData_0_0]') WITH NO_INFOMSGSDBCC DBREINDEX ('[dbo].[TrackingData_0_1]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_0_2]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_0_3]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_1_0]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_1_1]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_1_2]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_1_3]') WITH NO_INFOMSGS

Eigenschaften

Artikelnummer: 917845 – Letzte Überarbeitung: 16.01.2017 – Revision: 1

Feedback