2017-01-31 19 views
1

Я захватил файл трассировки в профилировщике SQL Server 2016 и хотел использовать readtrace и репортер для визуализации сводок SQL. Я могу обрабатывать файлы трассировки, захваченные в SQL Server 2008, в этой установке RML. Однако, когда я пытаюсь обработать в 2016 году файлы трассировки я получаю следующее сообщение об ошибке:SQL Server 2016 инструмент readtrace rml

01/31/17 08:45:11.227 [0X00004628] Attempting DOD5015 removal of [c:\temp\traces\trc2_out\ReadTrace.log] 
01/31/17 08:45:11.231 [0X00004638] I/O Completion manager started 
01/31/17 08:45:11.256 [0X00004628] Readtrace a SQL Server trace processing utility. 
Version 9.04.0051 built for x64. 
Copyright ⌐ 1997-2014 Microsoft. All Rights Reserved 
01/31/17 08:45:11.259 [0X00004628]    Computer: XXX 
01/31/17 08:45:11.260 [0X00004628]   Base Module: C:\Program Files\Microsoft Corporation\RMLUtils\ReadTrace.exe 
01/31/17 08:45:11.261 [0X00004628]   Process Id: 17956 
01/31/17 08:45:11.262 [0X00004628] Active proc mask(0): 0x00000001 
01/31/17 08:45:11.263 [0X00004628]   Architecture: 9 
01/31/17 08:45:11.264 [0X00004628]   Page size: 4096 
01/31/17 08:45:11.265 [0X00004628]     CPUs: 1 
01/31/17 08:45:11.265 [0X00004628]  Processor groups: 1 
01/31/17 08:45:11.266 [0X00004628]   Highest node: 0 
01/31/17 08:45:11.269 [0X00004628] Proximity: 00 Node: 00 
01/31/17 08:45:11.270 [0X00004628] --------------------------------------- 
01/31/17 08:45:11.271 [0X00004628]    Group: 0 
01/31/17 08:45:11.272 [0X00004628] --------------------------------------- 
01/31/17 08:45:11.273 [0X00004628]   Package mask: 0x00000001 
01/31/17 08:45:11.273 [0X00004628]   Processor(s): 0x00000001 Function units: Separated 
01/31/17 08:45:11.274 [0X00004628]   Processor(s): 0x00000001 assigned to Numa node: 0 
01/31/17 08:45:11.275 [0X00004628] Current time bias: -60 minutes -1.00 hours DST Standard 
01/31/17 08:45:11.276 [0X00004628] -Itrc2c.trc 
01/31/17 08:45:11.277 [0X00004628] -otrc2_out 
01/31/17 08:45:11.280 [0X00004628] -SXXX\XXX 
01/31/17 08:45:11.318 [0X00004628] Using language id (LCID): 1024 [English_United States.1252] for character formatting with NLS: 0x0006020E and Defined: 0x0006020E 
01/31/17 08:45:11.321 [0X00004628] Attempting to cleanup existing RML files from previous execution 
01/31/17 08:45:11.322 [0X00004628] Using extended RowsetFastload synchronization 
01/31/17 08:45:11.323 [0X00004628] Establishing initial database connection 
01/31/17 08:45:11.323 [0X00004628] Server: XXX\XXX 
01/31/17 08:45:11.324 [0X00004628] Database: PerfAnalysis 
01/31/17 08:45:11.325 [0X00004628] Authentication: Windows 
01/31/17 08:45:11.385 [0X00004628] Using SQLOLEDB version 11.0.6518.0 
01/31/17 08:45:11.394 [0X00004628] Connected to SQL Server Version, Major: 13, Minor: 0, Build: 4001 
01/31/17 08:45:11.395 [0X00004628] Creating or clearing the performance database 
01/31/17 08:45:11.759 [0X00004628] The major version number (13) in the trace file header is not a supported file version. 
01/31/17 08:45:11.763 [0X00004628] ERROR: Read of file header for file c:\temp\traces\trc2c.trc failed with operating system error 0x8007000D (The data is invalid) 

Кажется, что файл трассировки имеет неправильный формат, который не может быть обработан с помощью readtrace. Есть ли решение для этого? Есть ли другой способ получения статистического обзора моего файла трассировки? Я знаю, что файлы трассировки устарели, и вместо этого следует использовать расширенные события. Расширенные события сейчас не являются опцией.

+0

Почему вы пытаетесь использовать файл трассировки 2016 с инструментами 2008 года? Вы загрузили [последнюю версию?]. Кроме того, Profiler сам устарел, то, что вы хотите, доступно через dmvs, расширенные события и отчеты, которые уже являются частью SQL Server. –

+1

. Я установил https://www.microsoft.com/en-us/download/confirmation.aspx ? id = 4511, которая является последней версией. –

ответ

0

Заголовок файла трассировки должен быть изменен для ReadTrace для его обработки. Я использую код powershell, найденный here.

## ============================================= 
## Author:  Gianluca Sartori - @spaghettidba 
## Create date: 2012-11-07 
## Description: Changes the version information 
##    in the header of a SQL Server trace 
## ============================================= 
cls 

# Enter your filename here 
$fileName = "somefile.trc" 

# The version information we want to write: 0x0A = 10 = SQLServer 2008 
[Byte[]] $versionData = 0x0A 
# The offset of the version information in the file 
$offset = 390 

[System.IO.FileMode] $open = [System.IO.FileMode]::OpenOrCreate 
$stream = New-Object System.IO.FileStream -ArgumentList $fileName, $open 
$stream.Seek($offset, [System.IO.SeekOrigin]::Begin); 
$stream.Write($versionData, 0, $versionData.Length); 
$stream.Close() 

 Смежные вопросы

  • Нет связанных вопросов^_^