分布式重播要求
使用 Microsoft SQL Server 分布式重播功能之前,请考虑本主题中列出的产品要求。
输入跟踪要求
若要成功地重播跟踪数据,它必须满足版本和格式的要求,并包含所需的事件和列。
输入跟踪版本
分布式重播支持在以下版本的 SQL Server 中所收集的输入跟踪数据:
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。
输入跟踪事件和列
输入跟踪数据必须包含特定的事件和列才能由分布式重播进行重播。 SQL Server Profiler 中的 TSQL_Replay 模板包含所有必需的事件和列以及其他信息。 有关该模板的详细信息,请参阅重播要求。
注意 |
---|
如果您没有使用 TSQL_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
Database ID
HostName
Binary Data
SPID
Start Time
EndTime
IsSystem
支持的输入跟踪和目标服务器组合
下表列出了支持的跟踪数据版本,以及对于每种版本,可对其重播数据的 SQL Server 支持版本。
输入跟踪数据的版本 |
目标服务器实例支持的 SQL Server 版本 |
---|---|
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 |
操作系统要求
支持以下操作系统运行管理工具以及控制器和客户端服务。
Windows Vista Service Pack 2 (SP2) 或更高版本
Windows 7 RTM 或更高版本
Windows Server 2008 SP2 或更高版本
Windows Server 2008 R2 RTM 或更高版本
分布式重播功能在基于 x86 和基于 x64 的操作系统上均受支持。 对于基于 x64 的操作系统,仅支持 Windows on Windows (WOW) 模式。
安装限制
任何一台计算机只能安装每个分布式重播功能的一个实例。 下表列出了在单个分布式重播环境中每种功能所允许的安装数。
分布式重播功能 |
每个重播环境的最大安装数 |
---|---|
SQL Server 分布式重播控制器服务 |
1 |
SQL Server 分布式重播客户端服务 |
16(物理或虚拟计算机) |
管理工具 |
无限制 |
注意 |
---|
虽然一台计算机上只能安装一个管理工具实例,但是您可以启动管理工具的多个实例。 多个管理工具发出的命令按照接收命令的顺序进行解析。 |
数据访问提供程序
分布式重播仅支持 SQL Server Native Client ODBC 数据访问接口。
目标服务器准备要求
建议将目标服务器置于测试环境中。 若要针对 SQL Server 的其他实例而非最初记录跟踪数据的实例重播跟踪数据,请确保目标服务器满足以下条件:
跟踪数据中包含的所有登录名和用户必须出现在目标服务器的相同数据库中。
目标服务器上的所有登录名和用户拥有的权限必须与他们在原始服务器上的权限相同。
目标上的数据库 ID 最好与源上的数据库 ID 相同。 但是,如果它们不相同,当跟踪中出现 DatabaseName 时,将根据它进行匹配。
跟踪数据中包含的每个登录名的默认数据库必须设置(在目标服务器上)为该登录名相应的目标数据库。 例如,要重播的跟踪数据包含登录名 Fred 在原始 SQL Server 实例上 Fred_Db 数据库中的活动。 因此,在目标服务器上,必须将登录名 Fred 的默认数据库设置为与 Fred_Db 匹配的数据库(即使数据库名称不同)。 若要设置登录名的默认数据库,请使用 sp_defaultdb 系统存储过程。
重播与不存在的或不正确的登录名相关的事件会导致重播错误,但重播操作会继续。