2012-06-06 55 views
0

我想更改跟踪文件中的特定条目。我该怎么做?如何编辑SQL Server跟踪文件?

我收到了一套在prod服务器上运行的跟踪文件。从这些我试图获得一组RML文件来重放不同环境中的负载。要将.trc文件更改为RML文件,我运行了readtrace.exe

但是,readtrace未输出RML文件。看看日志我看到以下错误

06/06/12 15:43:20.914 [0X0000060C] SPID: 118 Seq: 50736293 [Error: 110003][State: 0][Abs Char: 233][Seq: 0] SYNTAX ERROR: String is missing proper closing quote near (Char Pos: 0x139 Byte Pos: 0x272)

然后清楚地显示导致此错误的条目。虽然我已将错误发送给开发团队,并且修复将在下一个版本中发布,但我需要使用当前的跟踪文件来生成并重放负载。因此,我想修复导致此错误的跟踪文件中的特定条目。

可能吗?我试图在写字板中打开跟踪文件,但写字板崩溃,考虑到跟踪文件是250MB,这并不奇怪。试图安装Vim,看看我能否打开并更改跟踪文件,但想知道是否有人知道一个更简单的方法来做到这一点。

+0

直到下一个版本才能进行另一次追踪,所以我需要以某种方式解决这个问题。 – shashi

+1

为什么你要**操纵你的跟踪文件?在SQL Profiler中分析它们 - 是的 - 但**为什么**改变它们?这背后的想法或动机是什么? –

+0

我想要生成rml文件,这是失败的,因为在跟踪中有一个缺少引号的查询。现在理想情况下,我会等待修复程序出去,以便在下一次跟踪时,不会出现如此错误的查询,并会按预期生成rml文件。但是,由于在短时间内可能无法实现,因此我正在将该修复直接应用于跟踪文件,以便生成rml文件,并且可以继续进行测试。 – shashi

回答

1

我找不到这样做的方法,所以最终要按预期的方式请求新的服务器端跟踪,这是在修复完成后采取的。

在此之前,我曾尝试将跟踪文件加载到表中,然后在Profiler中加载,然后更改我需要的值并生成新的跟踪文件,但是当加载到RML时,所需的crticial事件会丢失探查。我还在wordpad中打开了一个较小的跟踪文件,发现我无法编辑内容,因为还有二进制内容,并且不清楚文本编辑会达到什么效果。

因此,最终,获取可生成RML文件的跟踪的唯一方法是修复代码中的错误查询并推送修复程序,然后再次获取跟踪。