RML Utility ERROR: Попытка вставить событие подключения для ненулевого идентификатора запроса - PullRequest
0 голосов
/ 14 сентября 2018

У меня проблема с ReadTrace в утилитах RML. Когда я пытаюсь обработать файлы .trc, я получаю сообщение об ошибке:

09/14/18 09:06:27.833 [0X0000580C] Processing file: C:\xxxxxxxx\xxxxxxxxxx\xxxxxx\trace_37.trc (SQL 2012 / SQL Azure*)
09/14/18 09:06:28.051 [0X0000580C] Events Read: 5725000 Queued: 97661 Processed/sec: 53094
09/14/18 09:06:28.629 [0X0000580C] Events Read: 5750000 Queued: 89915 Processed/sec: 53113
09/14/18 09:06:28.947 [0X00005530] A serious error condition (cConnId.GetRequest() == 0) has been encountered.
        UTILITY ERROR: Attempting to insert a connection event for a non-zero request id.
        File: c:\sqlee\rml_4_rtw\src\read80trace\analyze.cpp
        Line: 5291
        Return Address: 0x00007FF60253E220
        Function: CAnalyze::InsertConnectEvent
09/14/18 09:06:28.964 [0X00005530]    Default Module: 0x00007FF6024F0000 (C:\Program Files\Microsoft Corporation\RMLUtils\ReadTrace.exe)
09/14/18 09:06:28.971 [0X00005530] ln 0x00007FF6025CDBDF
09/14/18 09:06:28.977 [0X00005530] ln 0x00007FF6025CEE95
09/14/18 09:06:28.977 [0X00005530] ln 0x00007FF60253E220
09/14/18 09:06:28.978 [0X00005530] ln 0x00007FF60253DD71
09/14/18 09:06:28.978 [0X00005530] ln 0x00007FF602541B3B
09/14/18 09:06:28.978 [0X00005530] ln 0x00007FF6025423E3
09/14/18 09:06:28.978 [0X00005530] ln 0x00007FF60257BA05
09/14/18 09:06:28.978 [0X00005530] ln 0x00007FF60257B95A
09/14/18 09:06:28.978 [0X00005530] ln 0x00007FF602565BE1
09/14/18 09:06:28.979 [0X00005530] ln 0x00007FF6025790FD
09/14/18 09:06:28.979 [0X00005530] ln 0x00007FF60257FBFD
09/14/18 09:06:28.979 [0X00005530] ln 0x00007FF6025C3FDA
09/14/18 09:06:28.979 [0X00005530] ln 0x00007FFC3CA94F87
09/14/18 09:06:28.980 [0X00005530] ln 0x00007FFC3CA9512E
09/14/18 09:06:28.980 [0X00005530] ln 0x00007FFC49038364
09/14/18 09:06:28.980 [0X00005530] ln 0x00007FFC4B045E91
09/14/18 09:06:28.980 [0X00005530] Frames: 16 (Return code: 16)

Трассировка была получена с помощью запроса, прикрепленного к файлу справки RML в SQL Server 2012 instace Я использую утилиты RML для SQL Server (x64) CU4 09.04.0051 в Windows 10 (сборка 14393.105). Параметры, которые я использовал при запуске ReadTrace:

ReadTrace -I"C:\xxxxxxxx\xxxxxxxxxx\xxxxxx\trace.trc" -o"C:\xxxx\xxxx\rml" -S"InstanceName" -dPerfAnalysis -E

Есть идеи, как это решить? Я пытался искать в файлах .trc такое событие, но это действительно сложно, потому что трассировка была записана в течение 8 часов, и она действительно большая. Я пытался открыть файл, который вызывает ошибку обработки в SSMS (:: fn_trace_gettable) и искать событие с EventClass = 17 (https://docs.microsoft.com/en-us/sql/relational-databases/event-classes/existingconnection-event-class?view=sql-server-2017) и RequestID <> 0 - безрезультатно. Я также пытался найти событие с EventClass = 14 (https://docs.microsoft.com/en-us/sql/relational-databases/event-classes/audit-login-event-class?view=sql-server-2017) и RequestID <> 0 - также безрезультатно Возможно, использованные фильтры были неверно? Или, может быть, есть способ как-то опустить такое событие в процессе преобразования ReadTrace? Есть еще идеи? Привет

EDIT:

Я проверил сгенерированный файл .RML на предмет ошибки. Последний сгенерированный файл выглядит так, как будто он был прерван во время записи:

<!-- TL: '2018-09-13 10:54:25:017' -->
<CONNECT SEQ="9806733" NEXTSEQ="9806733" DELTA="103558740000" MARS="TRUE">

    <CMD>-- network protocol: TCP/IP

        set quoted_identifier on

        set arithabort off

        set numeric_roundabort off

        set ansi_warnings on

        set ansi_padding on

        set ansi_nulls on

        set concat_null_yields_null on

        set cursor_close_on_commit off

        set im

Это конец последнего сгенерированного файла .rml. Может ли это быть событие, которое вызывает проблему? Я искал в файлах трассировки события, которые произошли в 2018-09-13 10: 54: 25: 017. В этот момент произошло событие Audit Login , но его RequestID = 0 , поэтому оно не соответствует ошибке.

EDIT:

Я проверил журналы SQL Server - есть некоторые ошибки, связанные с базой данных, которая была создана для сбора анализа производительности во время выполнения ReadTrace:

Date        17.09.2018 11:43:03
Log     SQL Server (Current - 17.09.2018 11:43:00)

Source      spid69

Message
Error: 4014, Severity: 20, State: 11.

Date        17.09.2018 11:43:03
Log     SQL Server (Current - 17.09.2018 11:43:00)

Source      spid69

Message
A fatal error occurred while reading the input stream from the network. The session will be terminated (input error: 10054, output error: 0).

Когда я использую ReadTrace с параметром -a (обработка без анализа производительности), преобразование в файлы .rml выполняется правильно.

...