I’m working through some code that I haven’t touched recently and I’m running it for the first time on a SQL Server 2012 server. The code is a way to load information into the RML utilities and I started hitting errors. First, I hit an error that my server couldn’t be connected to, but thanks to Erin Stellato (blog|twitter), I was able to quickly fix that. Then I hit this:

Number of processors: 2
Active proc mask: 0x00000003
Architecture: 9
Page size: 4096
Highest node: 0
Package mask: 0x00000001
Processor(s): 0x00000001 Function units: Separated
Package mask: 0x00000002
Processor(s): 0x00000002 Function units: Separated
Processors: 0x00000003 assigned to Numa node: 0
Using language id (LCID): 1024 [English_United States.1252] for character formatting with NLS: 0x00060101 and Defined: 0x00060101
Attempting to cleanup existing RML files from previous execution
Using extended RowsetFastload synchronization
Establishing initial database connection:
Database: PerfAnalysis
Authentication: Windows
Using SQL Client version 10
Creating or clearing the performance database
The major version number (11) in the trace file header is not a supported file version.
At this time only Microsoft SQL Server 2000, 2005 and 2008 trace files are supported. The current trace version (11) is not supported.
ERROR: Read of file header for file c:\performancetuning\rml.trc failed with operating system error 0x8007000D (The data is invalid)
*** ERROR: Attempt to initialize trace file reader failed with operating system error 0x8007000D (The data is invalid)
Reads completed - Global Error Status 0xfffffffe
Shutting down the worker thread message queues. ...

That’s right, the trace header shows the version it was captured with and the 2012 version doesn’t work with RML Utilities. I’ve tried several different ways of defining the trace collection, but the header doesn’t seem to be something you can control. I’ve also tried opening it in an editor and finding the right bit of code to change (it’s just a trace file after all) but no luck there either.


Firing up some older hardware now in order to get at a 2008R2 or earlier server. I’ve already upgraded all my servers & virtuals.

6 thoughts on “RML Utilities and SQL Server 2012

  1. I feel your pain Grant! I just ran into this as well, should have mentioned in my post that trace files from 2012 are not currently supported in RML Utilities. But, you CAN process the data INTO a database on a 2012 instance…though that probably doesn’t help you.

    It’s my understanding that Microsoft WILL come out with a version of RML Utilities that’s supported with SQL 2012.

  2. Thanks for your great blog post Erin. That shaved hours off my struggle. I finally got an old machine up & running and captured a trace off of it, so I’m good to go now. What a pain.

  3. Dang! I’ve been hit by the same issue just now. Too bad. I guess there’s no way around it, is there?
    I hope Microsoft comes out with an update. RML utils are just too useful to be dropped altogether.
    Thanks Grant and Erin for your posts!

  4. You can also save the trace file to an xml file, change the major version to 10, and save the file back to a trace file.

Leave a Reply