可以使用 SQL Server Profiler来创建模板,定义要包含在跟踪中的事件类和数据列。定义并保存模板后,可以运行跟踪来记录每个选定事件类的数据。您可以将一个模板用于多个跟踪;模板本身并不会执行。
SQL Server Profiler提供了预定义的跟踪模板,使您可以轻松配置特定跟踪可能最需要的事件类。例如,Standard 模板可帮助您创建通用跟踪,用于记录登录、注销、已完成的批处理和连接信息。您可以使用此模板来运行跟踪而无需修改,也可以基于该模板创建具有不同事件配置的其他模板。
注意: |
---|
除了通过预定义模板进行跟踪以外,SQL Server Profiler还允许您从空模板(默认情况下不包含任何事件类)创建跟踪。当计划的跟踪与任何预定义模板的配置都不相符时,使用空跟踪模板会十分有用。
|
SQL Server Profiler可以跟踪各种服务器类型。例如,可以跟踪 SQL Server 2000、Analysis Services 和 SQL Server 2005(和更高版本)。但每种服务器可以包含的事件类会有所不同。因此,SQL Server Profiler为不同服务器保留不同的模板,并提供与所选服务器类型匹配的特定模板。
除了 Standard(默认)模板以外,SQL Server Profiler还包含几个可监视特定类型的事件的预定义模板。下表列出了预定义模板、其用途以及其捕获何种事件类的信息。
模板名称 | 模板用途 | 事件类 |
---|---|---|
SP_Counts | 捕获一段时间内存储过程的执行行为。 | SP:Starting |
Standard | 创建跟踪的通用起点。捕获所运行的全部存储过程和 Transact-SQL 批处理。用于监视常规数据库服务器活动。 | Audit Login Audit Logout ExistingConnection RPC:Completed SQL:BatchCompleted SQL:BatchStarting |
TSQL | 捕获客户端提交给 SQL Server 的所有 Transact-SQL 语句及其发出时间。用于调试客户端应用程序。 | Audit Login Audit Logout ExistingConnection RPC:Starting SQL:BatchStarting |
TSQL_Duration | 捕获客户端提交给 SQL Server 的所有 Transact-SQL 语句及其执行时间(以毫秒位单位),并按持续时间对其进行分组。用于识别执行速度慢的查询。 | RPC:Completed SQL:BatchCompleted |
TSQL_Grouped | 捕获提交给 SQL Server 的所有 Transact-SQL 语句及其发出时间。信息按提交语句的用户或客户端分组。用于调查某客户端或用户发出的查询。 | Audit Login Audit Logout ExistingConnection RPC:Starting SQL:BatchStarting |
TSQL_Locks | 捕获客户端与异常锁事件一起提交到 SQL Server 的 Transact-SQL 语句。用于排除死锁、锁超时和锁升级事件的故障。 | Blocked Process Report SP:StmtCompleted SP:StmtStarting SQL:StmtCompleted SQL:StmtStarting Deadlock Graph(针对 SQL Server 2005 或 SQL Server 2008 实例使用。) Lock:Cancel Lock:Deadlock Lock:Deadlock Chain Lock:Escalation Lock:Timeout(针对 SQL Server 2000 实例使用。) Lock:Timeout (timeout>0)(针对 SQL Server 2005 或 SQL Server 2008 实例使用。) |
TSQL_Replay | 捕获重播跟踪所需的 Transact-SQL 语句的详细信息。用于执行迭代优化,例如基准测试。 | CursorClose CursorExecute CursorOpen CursorPrepare CursorUnprepare Audit Login Audit Logout Existing Connection RPC Output Parameter RPC:Completed RPC:Starting Exec Prepared SQL Prepare SQL SQL:BatchCompleted SQL:BatchStarting |
TSQL_SPs | 捕获有关执行的所有存储过程的详细信息。用于分析存储过程的组成步骤。如果您怀疑过程正在重新编译,请添加 SP:Recompile 事件。 | Audit Login Audit Logout ExistingConnection RPC:Starting SP:Completed SP:Starting SP:StmtStarting SQL:BatchStarting |
Tuning | 捕获有关存储过程和 Transact-SQL 批处理执行的信息。用于生成跟踪输出,数据库引擎优化顾问可以将该输出用作工作负荷来优化数据库。 | RPC:Completed SP:StmtCompleted SQL:BatchCompleted |
有关事件类的信息,请参阅 SQL Server 事件类参考。