Distributed Replay Requirements

Before using the Microsoft SQL Server Distributed Replay feature, consider the product requirements that are outlined in this topic. 

Input Trace Requirements

To successfully replay trace data, it must meet the requirements for version and format, and contain the required events and columns.

Input Trace Versions

Distributed Replay supports input trace data that is collected on the following versions of SQL Server:

  • SQL Server 2012

  • SQL Server 2008 R2

  • SQL Server 2008

  • SQL Server 2005

Input Trace Formats

The input trace data can be in any of the following formats:

  • A single trace file that has the .trc extension.

  • A set of rollover trace files that follow the file rollover naming convention, for example: <TraceFile>.trc, <TraceFile>_1.trc, <TraceFile>_2.trc, <TraceFile>_3.trc, … <TraceFile>_n.trc.

Input Trace Events and Columns

The input trace data must contain specific events and columns to be replayed by Distributed Replay. The TSQL_Replay template in SQL Server Profiler contains all of the required events and columns, in addition to extra information. For more information about that template, see Replay Requirements

Warning

If you do not use the TSQL_Replay template to capture the input trace data, or if the input trace requirements are not satisfied, you may receive unexpected replay results.

You can also create a custom trace template and use it to replay events with Distributed Replay, as long as it contains the following events:

  • Audit Login

  • Audit Logout

  • ExistingConnection

  • RPC Output Parameter

  • RPC:Completed

  • RPC:Starting

  • SQL:BatchCompleted

  • SQL:BatchStarting

If you are replaying server-side cursors, the following events are also required:

  • CursorClose

  • CursorExecute

  • CursorOpen

  • CursorPrepare

  • CursorUnprepare

If you are replaying server-side prepared SQL statements, the following events are also required:

  • Exec Prepared SQL

  • Prepare SQL

All input trace data must contain the following columns:

  • Event Class

  • EventSequence

  • TextData

  • Application Name

  • LoginName

  • DatabaseName

  • Database ID

  • HostName

  • Binary Data

  • SPID

  • Start Time

  • EndTime

  • IsSystem

Supported Input Trace and Target Server Combinations

The following table lists the supported versions of trace data, and for each, the supported versions of SQL Server that data can be replayed against.

Version of Input Trace Data

Supported Versions of SQL Server for the Target Server Instance

SQL Server 2005

SQL Server 2008, SQL Server 2008 R2, SQL Server 2012

SQL Server 2008

SQL Server 2008, SQL Server 2008 R2, SQL Server 2012

SQL Server 2008 R2

SQL Server 2008 R2, SQL Server 2012

SQL Server 2012

SQL Server 2012

Operating System Requirements

The following operating systems are supported for running the administration tool and the controller and client services.

  • Windows Vista with Service Pack 2 (SP2) or later version

  • Windows 7 RTM or later version

  • Windows Server 2008 with SP2 or later version

  • Windows Server 2008 R2 RTM or later version

Distributed Replay features are supported on both x86-based and x64-based operating systems. For x64-based operating systems, only Windows on Windows (WOW) mode is supported.

Installation Limitations

Any one computer can only have a single instance of each Distributed Replay feature installed. The following table lists how many installations of each feature are allowed in a single Distributed Replay environment.

Distributed Replay Feature

Maximum Installations Per Replay Environment

SQL Server Distributed Replay controller service

1

SQL Server Distributed Replay client service

16 (physical or virtual computers)

Administration tool

Unlimited

Note

Although only one instance of the administration tool can be installed on a single computer, you can start multiple instances of the administration tool. Commands issued from multiple administration tools are resolved in the order in which they are received.

Data Access Provider

Distributed Replay only supports the SQL Server Native Client ODBC data access provider.

Target Server Preparation Requirements

We recommend that the target server be located in a test environment. To replay trace data against a different instance of SQL Server than it was originally recorded, make sure that the following has been done to the target server:

  • All logins and users that are contained in the trace data must be present in the same database on the target server.

  • All logins and users on the target server must have the same permissions they had on the original server.

  • The database IDs on the target ideally should be the same as those on the source. However, if they are not the same, matching can be performed based on DatabaseName if it is present in the trace.

  • The default database for each login that is contained in the trace data must be set (on the target server) to the respective target database of the login. For example, the trace data to be replayed contains activity for the login, Fred, in the database Fred_Db on the original instance of SQL Server. Therefore, on the target server, the default database for the login, Fred, must be set to the database that matches Fred_Db (even if the database name is different). To set the default database of the login, use the sp_defaultdb system stored procedure.

Replaying events associated with missing or incorrect logins results in replay errors, but the replay operation continues.

See Also

Concepts

SQL Server Distributed Replay

Distributed Replay Security

Other Resources

Install Distributed Replay