如何在基于 Windows 的计算机上启用的 MS DTC 的诊断跟踪

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 926099
重要 本文包含有关如何修改注册表的信息。请确保备份注册表之前对其进行修改。请确保您知道如何出现问题时还原注册表。有关如何备份、 还原和修改注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表的说明
简介
本文讨论了如何为 Microsoft 分布式事务处理协调器 (MS DTC) 在基于 Windows 的计算机上启用诊断跟踪。

以下类型的跟踪工具有:
  • 事务管理器跟踪
    事务管理器 (TM) 跟踪跟踪事务 statechanges。它是由 MS DTC 事务管理器生成的。输出是 inbinary 格式,并且必须格式化输出。事务管理器将 MSDTC 服务的一部分。
  • 通信管理器错误跟踪
    通信管理器 (CM) 错误跟踪跟踪加载 Msdtcprx.dll 文件,并使用远程过程调用 (RPC) 接口的 MS DTC 通信与其他 MS DTC 相关进程的任何进程。输出为文本格式。"0x8004d00a"错误是典型错误的通信管理器错误跟踪可能很有用。
注意:事务管理器的跟踪和通信管理器错误跟踪可以独立进程。您可以单独启用事务管理器的跟踪和通信管理器错误跟踪。或者,您可以单独禁用它们。
更多信息

启用跟踪的事务管理器

可以使用组件服务 Microsoft 管理控制台 (MMC) 管理单元来启用跟踪的事务管理器。若要执行此操作,请按照下列步骤操作:
  1. 单击开始开始按钮单击所有程序,都单击附件,然后单击运行
  2. 键入 comexp.msc然后单击确定
  3. 展开组件服务,展开计算机,展开我的电脑、 展开分布式事务管理器,右键单击LocalDTC,,然后单击属性
  4. 单击跟踪选项卡。
  5. 跟踪选项卡上,您可以修改如下几个 TM 跟踪选项:
    • 跟踪输出
      • 跟踪事务
        • 跟踪所有事务
        • 跟踪中止的事务
        • 跟踪事务长寿命
TM 跟踪配置更改时,MS DTC 服务检测到所做的更改。但是,您不需要回收进程。例如,跟踪的交易记录或跟踪文件的位置更改时,MS DTC 服务注册表中检测更改。您不需要重新启动 MS DTC 服务。

新窗口中的 MS DTC 跟踪系统

在 Windows Vista 中,MS DTC 具有新的和全面的跟踪系统。新系统具有以下设计目标:
  • 只有一行代码需要添加 aformatted 跟踪。
  • 跟踪是通过生产 computerswithout 网络上的人类可读的。
  • 输出选项是灵活的。
  • 跟踪速度快。
  • 不需要重新启动计算机后,更改 theoptions。
另外,在 Windows 10 和 Windows 服务器 2016年技术预览,跟踪日志文件名称包含调用跟踪日志的过程的名称。这是由输出注册表项控制的。

配置跟踪

警告如果使用注册表编辑器或其他方法错误地修改了注册表,可能会出现严重问题。这些问题可能要求您重新安装操作系统。Microsoft 不能保证这些问题能够得到解决。修改注册表的风险由您自己承担。

跟踪配置位于名为跟踪 MS DTC 注册表项下的注册表项中的本地节点上。跟踪的注册表项包含连接管理器跟踪。以前,使用 TraceCMErr 注册表项来配置连接管理器跟踪。跟踪的注册表项包含以下两个子项:
  • 来源
    源子项配置跟踪的类型。
  • 输出
    该输出子项配置发送跟踪输出的位置。
注意:请确保该进程可以访问跟踪的注册表项。默认情况下,Windows Vista 配置不会创建此注册表项,不授予对此注册表项的权限。您可以使用注册表编辑器来配置跟踪功能。

若要创建跟踪功能的注册表项,请执行以下步骤:
  1. 单击开始开始按钮单击所有程序,都单击附件,都单击运行键入 注册表编辑器然后单击确定
  2. 找到并单击下列子项之一:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output
  3. 编辑菜单上,单击新建,然后单击输入数据类型。例如,单击DWORD (32 位) 值
  4. 键入所需的源的名称,然后按 enter 键。有关的源名称的详细信息,请参阅"配置源"部分中的表。
  5. 右键单击新的注册表项修改键入Valuedata中所需的值和,然后单击确定
  6. 文件菜单上,单击退出

配置源

源注册表项包含下表中列出的 DWORD 注册表值的一组。
名称说明
TRACE_MISC不能到其他类别分类的跟踪
TRACE_CM 连接管理器中的跟踪
TRACE_TRACE 跟踪基础架构本身
TRACE_SVC 跟踪服务和.exe 文件启动
TRACE_GATEWAY 网关源
TRACE_UI 跟踪用户界面
TRACE_CONTACT 跟踪联系人池和联系人
TRACE_UTIL 从多个位置调用的跟踪实用程序例程
TRACE_CLUSTER 跟踪特定于群集 (实用程序) 代码
TRACE_RESOURCE 将跟踪群集资源特定代码
TRACE_TIP 交易记录互联网协议 (提示) 跟踪源
TRACE_XA XA 事务管理器 (XATM) 跟踪源
TRACE_LOG 日志跟踪
TRACE_MTXOCI MTS/OCI 层 (Mtxoci.dll) 跟踪源
TRACE_ETWTRACE 事件窗口跟踪 (ETW) 跟踪源
TRACE_PROXY 在 MSDTC 代理 DLL 中生成的跟踪
TRACE_KTMRM 集成的核心事务管理器跟踪
TRACE_VSSBACKUP 跟踪与 Microsoft Visual SourceSafe 集成备份和恢复机制
TRACE_PERFMON 跟踪对性能计数器的支持
DWORD 值应为从 0 到 255 之间的数字。双字节值表示出现的跟踪级别。下表列出了可能的 DWORD 值。
说明
0const 字节 TRACE_OFF
1const 字节 TRACE_ERROR
2const 字节 TRACE_WARNING
3const 字节 TRACE_INFO
4const 字节 TRACE_VERBOSE
5const 字节 TRACE_VERY_VERBOSE
6const 字节 TRACE_INOUT
0xF0const 字节 TRACE_OBSCURE
0xFFconst 字节 TRACE_EVERYTHING
注意:较高的值会自动包括较低的值。因此,当您启用 TRACE_INFO 级别,TRACE_ERROR 级别也被启用。很少有源使用任何高于 TRACE_VERBOSE 级别的跟踪。

配置跟踪输出

警告如果使用注册表编辑器或其他方法错误地修改了注册表,可能会出现严重问题。这些问题可能要求您重新安装操作系统。Microsoft 不能保证这些问题能够得到解决。修改注册表的风险由您自己承担。

输出的注册表项包含一组值,用于控制跟踪输出发送的位置。 这些值如下所示:
  • TraceFilePath (REG_SZ) 值,则应在其中存储跟踪文件 rootfolder。跟踪被写入到文件在一个名为的文件夹 msdtc X.log.在此文件夹的名称, X 表示十进制创建该文件的进程的 PID。请确保所有感兴趣的进程可以访问配置的文件夹。否则,跟踪信息将会丢失。如果未设置此值,跟踪不会发送到文件。
  • ImageNameInTraceFileNameEnabled (REG_DWORD) 值确定是否生成跟踪日志文件的名称包括调用跟踪日志的进程的图像文件名称。如果此设置为非零值,则将生成跟踪日志文件在包含进程的图像文件名称。如果此值设置为零,该进程的图像文件名称将会包括在生成跟踪日志文件。默认情况下,该值设置为零 (0)。以下是日志文件名的示例生成日志文件,包含进程:

    MSDTC-msdtc.exe-3552.log 或 MSDTC svchost.exe-3556.log
  • MemoryBufferSize (REG_DWORD) 值是应在其中存储跟踪消息的循环缓冲区。如果此值设置为 0,则禁用内存跟踪。默认情况下,此值是 10 MB。您可能需要增大此值,如果启用详细跟踪。
  • DebugOutEnabled (REG_DWORD) 值启用或禁用输出到调试器。如果值为非零,将启用输出。默认情况下,禁用此输出注册表项。
连接管理器错误跟踪配置更改时,更改将会生效,当将 Msdtcprx.dll 文件加载进程将被回收。例如,对连接管理器错误跟踪配置更改生效时,MS DTC 服务进程将被回收。

或者,您可以创建一个.reg 文件,然后您可以使用注册表编辑器来导入文件。若要执行此操作,请按照下列步骤操作:
  1. 创建新的.reg 文件包含下面的代码示例:
    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. 单击开始开始按钮单击所有程序,都单击附件,都单击运行键入 注册表编辑器 然后单击确定
  3. 文件菜单上,单击导入
  4. 找到您在步骤 1 中创建的文件,然后单击打开。此时将显示注册表对话框。
  5. 单击确定
  6. 文件菜单上,单击退出

性能的影响

默认情况下,在 Windows Vista 中禁用跟踪功能。因此,常规安装存在没有性能影响。

除非 Microsoft 客户支持专业人员指明所需的跟踪信息来诊断问题,不应启用跟踪功能,在生产计算机上。跟踪可能会影响计算机的性能。首先必须找出问题,并必须解决它。然后,立即禁用跟踪功能。

群集配置

对于群集安装,确保在所有节点上的所有注册表项都包含这些注册表项。没有这些注册表项的任何节点,为群集代码忽略共享注册表中的注册表项,因为在本地计算机注册表中的注册表项不存在。
MSDTC

警告:本文已自动翻译

属性

文章 ID:926099 - 上次审阅时间:08/20/2015 00:53:00 - 修订版本: 1.0

Microsoft COM+ 1.5

  • kbdtc kbinfo kbhowto kbmt KB926099 KbMtzh
反馈