Distributed Replay 要求

使用 MicrosoftSQL Server Distributed Replay 功能之前,请考虑本主题中列出的产品要求。

输入跟踪要求

若要成功地重播跟踪数据,它必须满足版本和格式的要求,并包含所需的事件和列。

输入跟踪版本

Distributed Replay 支持在以下版本的 SQL Server中所收集的输入跟踪数据:

  • SQL Server 2014

  • SQL Server 2012

  • SQL Server 2008 R2

  • SQL Server 2008

  • SQL Server 2005

输入跟踪格式

输入跟踪数据可以采用以下任意一种格式:

  • 具有 .trc 扩展名的单个跟踪文件。

  • 一组遵循文件滚动更新命名约定(例如:<TraceFile>.trc<TraceFile>_1.trc<TraceFile>_2.trc<TraceFile>_3.trc<TraceFile>_n.trc)的滚动更新跟踪文件。

输入跟踪事件和列

输入跟踪数据必须包含特定的事件和列才能由 Distributed Replay 进行重播。 中的 TSQL_Replay SQL Server Profiler 模板包含所有必需的事件和列以及其他信息。 有关该模板的详细信息,请参阅 Replay Requirements

警告

如果你没有使用 TSQL_Replay 模板来捕获输入跟踪数据,或者未满足输入跟踪要求,则可能会收到意外的重播结果。

您也可以创建一个自定义跟踪模板,并使用该模板通过 Distributed Replay 来重播事件,前提条件是该模板包含以下事件:

  • 审核登录

  • 审核注销

  • ExistingConnection

  • RPC Output Parameter

  • RPC:Completed

  • RPC:Starting

  • SQL:BatchCompleted

  • SQL:BatchStarting

如果您要重播服务器端游标,则还需要以下事件:

  • CursorClose

  • CursorExecute

  • CursorOpen

  • CursorPrepare

  • CursorUnprepare

如果您要重播服务器端准备的 SQL 语句,则还需要以下事件:

  • Exec Prepared SQL

  • Prepare SQL

所有输入跟踪数据都必须包含以下列:

  • Event Class

  • EventSequence

  • TextData

  • 应用程序名称

  • LoginName

  • DatabaseName

  • 数据库 ID

  • HostName

  • Binary Data

  • SPID

  • 开始时间

  • EndTime

  • IsSystem

支持的输入跟踪和目标服务器组合

下表列出了支持的跟踪数据版本,以及对于每种版本,可对其重播数据的 SQL Server 支持版本。

输入跟踪数据的版本 目标服务器实例支持的 SQL Server 版本
SQL Server 2005 SQL Server 2008、SQL Server 2008 R2、SQL Server 2012、SQL Server 2014
SQL Server 2008 SQL Server 2008、SQL Server 2008 R2、SQL Server 2012、SQL Server 2014
SQL Server 2008 R2 SQL Server 2008 R2、SQL Server 2012、SQL Server 2014
SQL Server 2012 SQL Server 2012、SQL Server 2014
SQL Server 2014 SQL Server 2014

操作系统要求

支持运行管理工具、控制器和客户端服务的操作系统与 SQL Server 实例所要求的操作系统相同。 有关 SQL Server 实例支持哪些操作系统的详细信息,请参阅安装 SQL Server 2014 的硬件和软件要求

Distributed Replay 功能在基于 x86 和基于 x64 的操作系统上均受支持。 对于基于 x64 的操作系统,仅支持 Windows on Windows (WOW) 模式。

安装限制

任何一台计算机只能安装每个 Distributed Replay 功能的一个实例。 下表列出了在单个 Distributed Replay 环境中每种功能所允许的安装数。

Distributed Replay 功能 每个重播环境的最大安装数
SQL Server Distributed Replay 控制器服务 1
SQL Server Distributed Replay 客户端服务 16(物理或虚拟计算机)
管理工具 无限制

注意

虽然一台计算机上只能安装一个管理工具实例,但是您可以启动管理工具的多个实例。 多个管理工具发出的命令按照接收命令的顺序进行解析。

数据访问提供程序

Distributed Replay 仅支持 SQL Server Native Client ODBC 数据访问接口。

目标服务器准备要求

建议将目标服务器置于测试环境中。 若要针对 SQL Server 的其他实例而非最初记录跟踪数据的实例重播跟踪数据,请确保目标服务器满足以下条件:

  • 跟踪数据中包含的所有登录名和用户必须出现在目标服务器的相同数据库中。

  • 目标服务器上的所有登录名和用户拥有的权限必须与他们在原始服务器上的权限相同。

  • 目标上的数据库 ID 最好与源上的数据库 ID 相同。 但是,如果它们不相同,当跟踪中出现 DatabaseName 时,将根据它进行匹配。

  • 跟踪数据中包含的每个登录名的默认数据库必须设置(在目标服务器上)为该登录名相应的目标数据库。 例如,要重播的跟踪数据包含登录名 Fred在原始 实例上 Fred_Db SQL Server数据库中的活动。 因此,在目标服务器上,必须将登录名 Fred的默认数据库设置为与 Fred_Db 匹配的数据库(即使数据库名称不同)。 若要设置登录名的默认数据库,请使用 sp_defaultdb 系统存储过程。

重播与不存在的或不正确的登录名相关的事件会导致重播错误,但重播操作会继续。

另请参阅

SQL Server 分布式重播
Distributed Replay 安全性
安装 Distributed Replay