我关注the KB article from MS以启用MSDTC跟踪。不幸的是,它很难遵循,因为它没有假设读者非常合理和明显的期望,特别是“我如何阅读这个二进制日志文件?”我也读了this page from MSDN,在那里我发现我无法读取日志文件,因为我遗漏了一些名为tracefmt.exe
的可执行文件,而且我显然是唯一一个遇到此问题的人。< / p>
因此我的问题是:为什么我没有tracefmt.exe?我从哪里获得它?或者,为了达到这一点:如何阅读我的MSDTC跟踪日志?
答案 0 :(得分:32)
安装Visual Studio 2010后,我在以下位置找到了该工具:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\TraceFmt.exe
然后我将.EXE复制到以下位置:
C:\Windows\System32\Msdtc\Trace
按如下方式运行:
TraceFmt.exe dtctrace.log.2012-06-13-10-38-57-0601-00
虽然我大部分时间都使用msdtcvtr.bat,如下所示:
C:\Windows\System32\Msdtc\Trace\msdtcvtr.bat -tracelog dtctrace.log.2012-06-13-10-38-57-0601-00
答案 1 :(得分:18)
为了节省下载所有WDK(600MB +),仅用于200KB的文件,我通过执行以下操作选择了4.7MB的下载:
support.cab
,提取此处的内容tracefmt.exe
和traceprt.dll
。将这些复制到您的%windir%\system32\msdtc\trace
目录答案 2 :(得分:12)
答案 3 :(得分:10)
分布式服务支持团队博客更详细地介绍了how to trace the DTC。
接受的答案中的链接似乎被打破了。我找到了Windows Driver Kit homepage和current download link。
下载ISO并且您处于安装屏幕Microsoft Windows驱动程序工具包后,只从“完全开发环境”中选择“工具”。 tracefmt.exe位于<install-path>\<version>\Tools\tracing\i386
中。 确保从64位或32位目录中复制tracefmt.exe的版本!
上面的博主将这些文件移到了DTC文件夹%systemroot%\MsDtc\Trace
,可能是因为它们位于msdtcvtr.bat
路径中。
答案 4 :(得分:5)
从上述帖子(以及其他地方)搜索tracefmt.exe和traceprt.dll后,我发现您需要64位版本的工具才能在Windows Server 2008上运行该程序。
我找到了this blog post。
并发现如果安装了visual studio,您应该能够在本地计算机上找到exe和dll的64位和32位版本:
答案 5 :(得分:2)
Tracefmt.exe附带Windows驱动程序工具包。
答案 6 :(得分:1)
通常,您应该使用现有的* .mof文件来包含跟踪文件。 在C:\ Windows \ System32 \ Msdtc \ Trace \ u中可以看到msdtctr.mof。 此文件包含跟踪文件的描述,您需要使用它,如下所示:
tracefmt log_filename -tmf msdtctr.mof
答案 7 :(得分:0)
我发现Darren和Thomas Bratt的答案非常有用,但为了使用tracefmt
成功解析DTC文件,我必须提供tmf
参数:
tracefmt -tmf msdtctr.mof dtctrace.log
否则每个事件都会出现类似
的事件Unknown( 21): GUID=75f91e0e-d50c-47c9-b06f-3f2013e9da73 (No Format Information found).