Review the Replay Results

After the Microsoft SQL Server Distributed Replay feature completes a distributed replay, the replay activity for each client can be captured and saved in result trace files on each client. In order to capture this activity, you must use the -o parameter when you run the administration tool with the replay option. For more information about the replay option, see Replay Option (Distributed Replay Administration Tool).

The location of where the result trace files are stored is specified by the <ResultDirectory> XML element in the client configuration file, DReplayClient.xml, located on each client. The trace files in the client result directory are overwritten on each replay.

To specify what kind of output should be captured in the result trace files, modify the replay configuration file, DReplay.exe.replay.config. You can use the <OutputOptions> XML element to specify whether the row count or result set contents should be recorded.

For more information about these configuration settings, see Configure Distributed Replay.

Event Classes Captured in Result Trace Files

The following table lists all of the event classes that are captured in the result trace data.

Category

EventClass Name

Capture Frequency

Point of Capture

Replayable Events

Audit Login

One time for each Audit Login event in the original trace data

Upon successful completion or failure of the event

Audit Logout

One time for each Audit Logout event in the original trace data

Upon successful completion or failure of the event

SQL:BatchCompleted

One time for each SQL:BatchStarting event in the original trace data

Upon successful completion or failure of the event

RPC:Completed

One time for each RPC:Starting event in the original trace data

Upon successful completion or failure of the event

Statistics and Results

Replay Settings Event

One time

First event of the result trace

Replay Statistics Event

One time

Last event of the result trace

Replay Result Set Event

One time for each SQL:BatchStarting and RPC:Starting event.

Only captured if the value of the <RecordResultSet> option in the replay configuration file was set to Yes.

 

Replay Result Row Event

One time for each row in the result set for SQL:BatchStarting and RPC:Starting events.

Only captured if the value of the <RecordResultSet> option in the replay configuration file was set to Yes.

 

Errors and Warnings

Replay Internal Error

One time for each internal error

Upon internal error condition

Replay Provider Error

One time for each provider error

Upon provider error condition

Note the following:

  • For each event that is successfully replayed on the target server, there is one corresponding output event class.

  • For each event failure or cancellation, there may be multiple errors that are generated.

Event Class Column Mapping

The following figure lists which columns of the result trace are available for each type of event class that is captured during the replay.

Event class column mapping

Column Descriptions for Result Trace

The following table describes the columns of the result trace data.

Data Column Name

Data Type

Description

Column ID

EventClass

nvarchar

The name of the event class.

1

EventSequence

bigint

For provider errors, and internal errors and warnings, this is the capture event sequence that corresponds to the error or warning.

For all other event classes, this is the sequence of the event in the original trace data.

2

ReplaySequence

bigint

For provider errors, and internal errors and warnings, this is the replay event sequence that corresponds to the error or warning.

For all other event classes, this is the sequence of the event that is assigned during replay.

3

TextData

ntext

The content of TextData depends on the EventClass.

For Audit Login and ExistingConnection, this is the set options for the connection.

For SQL:BatchStarting, this is the body of the batch request.

For RPC:Starting, this is the stored procedure that was called.

For Replay Settings Event, this column contains the settings that are defined in the replay configuration file.

For Replay Statistics Event, this contains the following information:

  • The replay target SQL server

  • Total number of replayable events

  • The number of provider errors

  • The number of internal errors

  • Internal warnings

  • Total number of errors

  • Overall pass rate

  • The replay time (HH:MM:SS:MMM)

For Replay Result Set Event, this shows the list of return result column headers.

For Replay Result Row Event, this shows the return value of all columns for that row.

For Replay Internal Warning and Replay Provider Error, this column contains the provider warnings or errors.

4

Attention

bigint

The attention duration (in microseconds) for the event. This is calculated from the Attention event from the capture trace. If there was no query time-out specified for the event, this column is not populated (null).

5

SubmitTime

datetime

The time when the event was submitted to SQL Server.

6

IsSuccessful

int

A Boolean flag that indicates whether a particular event was successfully executed, and that result sets were returned to the client-side.

An event that generates a warning (such as when an event is cancelled because of Attention or a user-specified time-out) is considered successful.

IsSuccessful can be one of the following:

  • 1 = successful

  • 0 = failed

7

Duration [microsec]

bigint

Response time duration (in microseconds) for the event. The measurement starts when the logon/log off/RPC/Language event was submitted to SQL Server.

If the event succeeds, the measurement ends when the complete result set has been consumed.

If the event does not succeed, the measurement ends at the time of event failure or cancellation.

8

RowCount

bigint

Populated depending on the value of <RecordRowCount> in the replay configuration file:

  • If <RecordRowCount> equals Yes, this cell contains the number of rows in the result set that are returned by SQL Server.

  • If <RecordRowCount> equals No, this cell is not populated (null).

9

CaptureSPID

int

The ID of the capture session for the event.

10

ConnectionID

int

The ID of the capture connection for the event.

11

ReplaySPID

int

The ID of the replay session for the event.

12

DatabaseName

nvarchar

The name of the database in which the user statement is running.

13

LoginName

nvarchar

The user login name. This can be either a SQL Server security login or the Microsoft Windows login credentials, in the format domain_name\user_name.

14

CaptureHostName

nvarchar

The name of the computer on which the client service is running during capture.

15

ReplayHostName

nvarchar

The name of the computer on which the client is running during replay.

16

ApplicationName

nvarchar

The name of the client application that created the SQL Server connection during capture.

17

See Also

Reference

Administration Tool Command-line Options (Distributed Replay Utility)

Concepts

SQL Server Distributed Replay

Distributed Replay Requirements

Configure Distributed Replay