Freigeben über


Aktivieren der Diagnoseablaufverfolgung für MS DTC auf einem Windows 10-Computer

In diesem Artikel wird erläutert, wie Sie die Diagnoseablaufverfolgung für den Microsoft Distributed Transaction Coordinator (MS DTC) auf einem Windows 10-Computer aktivieren.

Ursprüngliche Produktversion: Windows 10
Ursprüngliche KB-Nummer: 926099

Wichtig

Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Sie sollten eine Sicherungskopie der Registrierung erstellen, bevor Sie die Registrierung bearbeiten. Sie müssen wissen, wie die Registrierung wiederhergestellt werden kann, wenn ein Problem auftritt. Weitere Informationen zum Sichern, Wiederherstellen und Ändern der Registrierung finden Sie unter Windows-Registrierungsinformationen für erweiterte Benutzer.

Arten von Ablaufverfolgungseinrichtungen

  • Ablaufverfolgung des Transaktions-Managers

    Die Ablaufverfolgung des Transaktions-Managers (TM) verfolgt Änderungen am Transaktionsstatus. Sie wird vom MS DTC-Transaktionsmanager generiert. Die Ausgabe befindet sich im Binärformat, und die Ausgabe muss formatiert werden. Der Transaktions-Manager ist Teil des MS DTC-Diensts.

  • Kommunikations-Manager– Fehlerablaufverfolgung

    Fehlerablaufverfolgung von Kommunikations-Manager (CM) verfolgt jeden Prozess, der die Msdtcprx.dll Datei lädt und die die REMOTEprozeduraufrufschnittstelle (RPC) von MS DTC verwendet, um mit anderen MS DTC-bezogenen Prozessen zu kommunizieren. Die Ausgabe befindet sich im Textformat. Der 0x8004d00a Fehler ist ein typischer Fehler, für den die Fehlerablaufverfolgung von Kommunikationsmanagern hilfreich sein kann.

Notiz

Transaktions-Manager-Ablaufverfolgung und Kommunikations-Manager-Fehlerablaufverfolgung sind unabhängige Prozesse. Sie können die Transaktions-Manager-Ablaufverfolgung und die Kommunikations-Manager-Fehlerablaufverfolgung unabhängig aktivieren. Sie können sie auch unabhängig deaktivieren.

Aktivieren der Transaktions-Manager-Ablaufverfolgung

Sie können das MmC-Snap-In (Component Services Microsoft Management Console) verwenden, um die Ablaufverfolgung von Transaktions-Managern zu aktivieren. Gehen Sie dazu wie folgt vor:

  1. Wählen Sie nacheinander Start, Alle Programme, Zubehör und Ausführen aus.

  2. Geben Sie "comexp.msc" ein, und wählen Sie dann "OK" aus.

  3. Erweitern Sie Komponentendienste, erweitern Sie Computer, erweitern Sie "Arbeitsplatz", erweitern Sie "Verteilter Transaktions-Manager", klicken Sie mit der rechten Maustaste auf "Local DTC", und wählen Sie dann "Eigenschaften" aus.

  4. Wählen Sie die Registerkarte "Ablaufverfolgung" aus .

  5. Auf der Registerkarte "Ablaufverfolgung " können Sie die folgenden TM-Ablaufverfolgungsoptionen ändern:

    • Ablaufverfolgungsausgabe
      • Ablaufverfolgungstransaktionen
        • Alle Transaktionen nachverfolgen
        • Ablaufverfolgung abgebrochener Transaktionen
        • Nachverfolgen von langlebigen Transaktionen

Wenn Sie die TM-Ablaufverfolgungskonfiguration ändern, erkennt der MS DTC-Dienst die Änderungen. Sie müssen den Prozess jedoch nicht wiederverwenden. Wenn Sie beispielsweise die Transaktionen ändern, die nachverfolgt oder der Speicherort der Ablaufverfolgungsdatei gespeichert sind, erkennt der MS DTC-Dienst die Änderung in der Registrierung. Sie müssen den MS DTC-Dienst nicht neu starten.

Neues MS DTC-Ablaufverfolgungssystem in Windows

In Windows verfügt MS DTC über ein neues und umfangreiches Ablaufverfolgungssystem. Das neue System hat die folgenden Designziele:

  • Es ist nur eine einzelne Codezeile erforderlich, um eine formatierte Ablaufverfolgung hinzuzufügen.
  • Die Spur ist von Menschen auf Produktionscomputern ohne Netzwerk lesbar.
  • Ausgabeoptionen sind flexibel.
  • Die Ablaufverfolgung ist schnell.
  • Sie müssen den Computer nicht neu starten, um die Optionen zu ändern.

Darüber hinaus enthält der Name der Ablaufverfolgungsprotokolldatei in Windows 10 und Windows Server Technical Preview den Namen des Prozesses, der das Ablaufverfolgungsprotokoll aufgerufen hat. Dies wird durch den Ausgaberegistrierungsschlüssel gesteuert.

Konfigurieren von Ablaufverfolgung

Warnung

Schwerwiegende Probleme können auftreten, wenn die Registrierung mit dem Registrierungs-Editor oder einer anderen Methode unsachgemäß bearbeitet wird. Aufgrund dieser Probleme kann eine Neuinstallation des Betriebssystems erforderlich sein. Microsoft kann nicht garantieren, dass diese Probleme behoben werden können. Das Ändern der Registrierung erfolgt auf eigenes Risiko.

Die Ablaufverfolgungskonfiguration befindet sich auf dem lokalen Knoten in einem Registrierungsschlüssel, der unter dem MS DTC-Registrierungsschlüssel benannt Tracing ist. Der Tracing Registrierungsschlüssel enthält die Verbindungs-Manager-Ablaufverfolgung. Zuvor haben Sie den Registrierungsschlüssel zum Konfigurieren der TraceCMErr Verbindungs-Manager-Ablaufverfolgung verwendet. Der Tracing Registrierungsschlüssel enthält die folgenden beiden Unterschlüssel:

  • Sources: Dieser Unterschlüssel konfiguriert die Art der Ablaufverfolgung.
  • Output: Dieser Unterschlüssel konfiguriert, wo die Ablaufverfolgungsausgabe gesendet wird.

Notiz

Stellen Sie sicher, dass der Prozess auf den Tracing Registrierungsschlüssel zugreifen kann. Standardmäßig erstellt die Windows-Konfiguration diesen Schlüssel nicht und gewährt diesem Schlüssel keine Berechtigungen. Sie können den Registrierungs-Editor verwenden, um die Ablaufverfolgungsfunktion zu konfigurieren.

Führen Sie die folgenden Schritte aus, um Registrierungseinträge für Ablaufverfolgungsfunktionen zu erstellen:

  1. Wählen Sie ">Alle Programme>ausführen>" aus, geben Sie "regedit" ein, und wählen Sie dann "OK" aus.

  2. Suchen Und wählen Sie dann einen der folgenden Unterschlüssel aus:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output
  3. Wählen Sie im Menü "Bearbeiten " die Option "Neu" und dann den Datentyp des Eintrags aus. Wählen Sie z. B. den DWORD-Wert (32-Bit) aus.

  4. Geben Sie den Namen der gewünschten Quelle ein, und drücken Sie dann die EINGABETASTE. Weitere Informationen zu den Quellnamen finden Sie in der Tabelle im Abschnitt "Quellen konfigurieren".

  5. Klicken Sie mit der rechten Maustaste auf den neuen Registrierungseintrag, wählen Sie "Ändern" aus, geben Sie den gewünschten Wert in das Feld "Wert" ein, und wählen Sie dann "OK" aus.

  6. Wählen Sie im Menü Datei die Option Beenden aus.

Konfigurieren von Quellen

Der Sources Registrierungsschlüssel enthält eine Reihe von DWORD-Registrierungswerten, die in der folgenden Tabelle aufgeführt sind.

Name Beschreibung
TRACE_MISC Ablaufverfolgungen, die nicht in die anderen Kategorien fallen.
TRACE_CM Ablaufverfolgungen im Verbindungs-Manager.
TRACE_TRACE Die eigentliche Ablaufverfolgungsinfrastruktur.
TRACE_SVC Ablaufverfolgungen für den Start der EXE-Datei und des Diensts
TRACE_GATEWAY Gatewayquelle
TRACE_UI Verfolgt die Benutzeroberfläche
TRACE_CONTACT Ablaufverfolgungen für den Kontaktpool und für Kontakte.
TRACE_UTIL Für Ablaufverfolgungen verwendete Hilfsroutinen, die von unterschiedlichen Speicherorten aus aufgerufen werden.
TRACE_CLUSTER Verfolgt den clusterspezifischen Code (Hilfsprogramm) nach.
TRACE_RESOURCE Verfolgt den ressourcenspezifischen Clustercode ab.
TRACE_TIP Ablaufverfolgungsquelle für Transaktions-Internetprotokoll (TIP)
TRACE_XA Ablaufverfolgungsquelle für XA-Transaktions-Manager (XATM).
TRACE_LOG Protokollablaufverfolgung.
TRACE_MTXOCI MTS/OCI-Ebene (Mtxoci.dll) Ablaufverfolgungsquelle
TRACE_ETWTRACE Ereignisablaufverfolgungsquelle für Windows (ETW)
TRACE_PROXY Ablaufverfolgungen, die in der MSDTC-Proxy-DLL generiert werden
TRACE_KTMRM Ablaufverfolgung für die Integration in Kernel Transaction Manager
TRACE_VSSBACKUP Ablaufverfolgung für die Integration mit dem Sicherungs- und Wiederherstellungsmechanismus von Microsoft Visual SourceSafe
TRACE_PERFMON Ablaufverfolgung mit Unterstützung für Leistungsindikatoren

Der DWORD-Wert sollte eine Zahl zwischen 0 und 255 sein. Der DWORD-Wert gibt die Ablaufverfolgungsebene an, die auftritt. In der folgenden Tabelle sind mögliche DWORD-Werte aufgeführt.

Wert Beschreibung
0 const BYTE-TRACE_OFF
1 const BYTE-TRACE_ERROR
2 const BYTE-TRACE_WARNING
3 const BYTE-TRACE_INFO
4 const BYTE-TRACE_VERBOSE
5 const BYTE-TRACE_VERY_VERBOSE
6 const BYTE-TRACE_INOUT
0xF0 const BYTE-TRACE_OBSCURE
0xFF const BYTE-TRACE_EVERYTHING

Notiz

Höhere Werte enthalten automatisch niedrigere Werte. Wenn Sie die TRACE_INFO Ebene aktivieren, ist die TRACE_ERROR Ebene daher ebenfalls aktiviert. Sehr wenige Quellen verwenden jede Ablaufverfolgung, die höher als die TRACE_VERBOSE Ebene ist.

Konfigurieren der Ablaufverfolgungsausgabe

Warnung

Schwerwiegende Probleme können auftreten, wenn die Registrierung mit dem Registrierungs-Editor oder einer anderen Methode unsachgemäß bearbeitet wird. Aufgrund dieser Probleme kann eine Neuinstallation des Betriebssystems erforderlich sein. Microsoft kann nicht garantieren, dass diese Probleme behoben werden können. Das Ändern der Registrierung erfolgt auf eigenes Risiko.

Der Output Registrierungsschlüssel enthält einen Satz von Werten, die steuern, wo die Ablaufverfolgungsausgabe gesendet wird. Die Werte lauten wie folgt:

  • Der TraceFilePath Wert (REG_SZ) ist der Stammordner, in dem Ablaufverfolgungsdateien gespeichert werden sollen. Die Ablaufverfolgung wird in eine Datei in einem Ordner geschrieben, der msdtc-X.log heißt. In diesem Ordnernamen stellt X die dezimale PID des Prozesses dar, der die Datei erstellt. Stellen Sie sicher, dass alle interessanten Prozesse auf den konfigurierten Ordner zugreifen können. Andernfalls gehen Ablaufverfolgungsinformationen verloren. Wenn dieser Wert nicht festgelegt ist, werden Ablaufverfolgungen nicht an eine Datei gesendet.

  • Der ImageNameInTraceFileNameEnabled Wert (REG_DWORD) bestimmt, ob der Name der generierten Ablaufverfolgungsprotokolldatei den Bilddateinamen des Prozesses enthält, der das Ablaufverfolgungsprotokoll aufgerufen hat. Wenn dies auf einen Wert ungleich Null festgelegt ist, wird der Name der Bilddatei des Prozesses in die generierte Ablaufverfolgungsprotokolldatei aufgenommen. Wenn dieser Wert auf Null festgelegt ist, wird der Name der Bilddatei des Prozesses nicht in die generierte Ablaufverfolgungsprotokolldatei einbezogen. Standardmäßig ist der Wert auf Null (0) festgelegt. Es folgt ein Beispiel für einen Namen der Ablaufverfolgungsdatei, bei dem die generierte Protokolldatei den Prozess enthält:
    MSDTC-msdtc.exe-3552.log oder MSDTC-svchost.exe - 3556.log

  • Der MemoryBufferSize Wert (REG_DWORD) ist die Größe des Kreispuffers, in dem Ablaufverfolgungsmeldungen gespeichert werden. Wenn dieser Wert auf 0 festgelegt ist, ist die Speicherablaufverfolgung deaktiviert. Dieser Wert beträgt standardmäßig 10 MB. Sie müssen diesen Wert möglicherweise erhöhen, wenn Sie ausführliche Ablaufverfolgung aktivieren.

  • Der DebugOutEnabled (REG_DWORD)-Wert aktiviert oder deaktiviert die Ausgabe für den Debugger. Wenn der Wert nicht null ist, ist die Ausgabe aktiviert. Dieser Registrierungsschlüssel ist standardmäßig Output deaktiviert. Wenn Sie die Konfiguration des Verbindungs-Managers für die Fehlerablaufverfolgung ändern, werden die Änderungen wirksam, wenn ein Prozess, der die Msdtcprx.dll Datei lädt, wiederverwendet wird. Beispielsweise werden die Änderungen an der Fehlerablaufverfolgungskonfiguration des Verbindungs-Managers wirksam, wenn der MS DTC-Dienstprozess wiederverwendet wird.

Alternativ können Sie eine .reg Datei erstellen und dann den Registrierungs-Editor verwenden, um die Datei zu importieren. Gehen Sie dazu wie folgt vor:

  1. Erstellen Sie eine neue .reg Datei, die das folgende Codebeispiel enthält:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output]
    "DebugOutEnabled"=dword:00000000
    "TraceFilePath"=""
    "MemoryBufferSize"=dword:0000000a
    "ImageNameInTraceFileNameEnabled"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources]
    "TRACE_MISC"=dword:00000000
    "TRACE_CM"=dword:00000000
    "TRACE_TRACE"=dword:00000000
    "TRACE_SVC"=dword:00000000
    "TRACE_GATEWAY"=dword:00000000
    "TRACE_UI"=dword:00000000
    "TRACE_CONTACT"=dword:00000000
    "TRACE_UTIL"=dword:00000000
    "TRACE_CLUSTER"=dword:00000000
    "TRACE_RESOURCE"=dword:00000000
    "TRACE_TIP"=dword:00000000
    "TRACE_XA"=dword:00000000
    "TRACE_LOG"=dword:00000000
    "TRACE_MTXOCI"=dword:00000000
    "TRACE_ETWTRACE"=dword:00000000
    "TRACE_PROXY"=dword:00000000
    "TRACE_KTMRM"=dword:00000000
    "TRACE_VSSBACKUP"=dword:00000000
    
  2. Wählen Sie ">Alle Programme>ausführen>" aus, geben Sie "regedit" ein, und klicken Sie dann auf "OK".

  3. Wählen Sie im Menü "Datei" die Option "Importieren" aus.

  4. Suchen Sie die Datei, die Sie in Schritt 1 erstellt haben, und wählen Sie dann "Öffnen" aus. Das Dialogfeld "Registrierungs-Editor " wird angezeigt.

  5. Klicken Sie auf OK.

  6. Wählen Sie im Menü Datei die Option Beenden aus.

Leistungseffekt

Standardmäßig ist die Ablaufverfolgungsfunktion in Windows deaktiviert. Daher ist für eine normale Installation kein Leistungseffekt vorhanden.

Aktivieren Sie die Ablaufverfolgungsfunktion auf Produktionscomputern nicht, es sei denn, ein Microsoft Customer Support Professional gibt an, dass die Ablaufverfolgungsinformationen zum Diagnostizieren eines Problems erforderlich sind. Die Ablaufverfolgung kann sich auf die Computerleistung auswirken. Zuerst müssen Sie das Problem finden, und Sie müssen es beheben. Deaktivieren Sie dann sofort die Ablaufverfolgungsfunktion.

Clusterkonfiguration

Stellen Sie bei Clusterinstallationen sicher, dass alle Registrierungseinträge auf allen Knoten diese Registrierungseinträge enthalten. Bei knoten, die nicht über diese Registrierungseinträge verfügen, ignoriert der Clustercode die Registrierungseinträge in der freigegebenen Registrierung, da die Registrierungseinträge in der lokalen Computerregistrierung nicht vorhanden sind.