安装完SQL Server 2008后,我们可以看到性能工具:数据库性能引擎顾问和SQL Server Profiler。这个工具在MS SQL 2000和MS SQL 2005中同样适用。
SQL Profiler是SQL Trace的一种图形化用户界面工具,SQL Trace工具允许您监视SQL Server Database Engine或Analysis Services实例。使用SQL Profiler,您可以交互式地捕获数据库活动,并可以选择将有关数据库事件的数据保存到一个文件或表中。以后可以重放和分析这些保存的数据。
使用SQL Profiler的一些典型原因:
● 监视Database Engine或Analysis Server实例的性能。
● 分析和简化缓慢执行查询的性能。
● 通过保存Showplan结果执行查询分析。
● 确定死锁的原因
● 调试TSQL语句和存储过程。
● 通过重放跟踪执行强调和基准测试。
● 重放一个或多个用户的跟踪。
● 审查和回顾SQL Server实例上发生的活动。
● 聚集跟踪结果,从而组合并分析类似的事件类。
启动SQL Profiler
一种是从Start | All Programs | Microsoft SQL Server 2005 | Performance Tools | SQL Server Profiler菜单选项中启动。
另一种是从SQL Server Management Studio菜单中选择Tools | SQL Server Profiler选项来启动。您也可以从Database Engine Tuning Advisor的Tools | SQL Server Profiler菜单选项中启动SQL Profiler。
跟踪属性对话框有两个选项卡:General和Events Selection。General选项卡。根据实际情况,我们指定模板,以及与跟踪属性中设置的跟踪模板相关的列。
预定义的模板:
模 板 名 称 | 模板的作用和事件类 |
Standard(默认) | 捕获正在运行的存储过程和TSQL批处理。 用途:监视普通的数据库服务器活动。 类:Audit Login、Audit Logout、ExistingConnection、RPC:Completed、SQL:BatchCompleted、SQL:BatchStarting |
SP_Counts | 根据时间捕获存储过程的执行行为。 类:SP:Starting |
TSQL | 捕获客户机提交给SQL Server的TSQL语句和使用的时间。 用途:调试客户机应用程序。 类:Audit Login、Audit Logout、ExistingConnection、RPC:Starting、 SQL:BatchStarting |
TSQL_Duration | 捕获客户机提交给SQL Server的TSQL语句和执行时间(以毫秒为单位)。根据周期进行分组。 用途:确定慢查询。 类:RPC:Completed、SQL:BatchCompleted |
TSQL_Grouped | 捕获客户机提交给SQL Server的TSQL语句和使用的时间,根据提交该语句的用户或客户机进行分组。 用途:从特定的客户机或用户中调查查询。 类:Audit Login、Audit Logout、ExistingConnection、RPC:Starting、 SQL:BatchStarting |
TSQL_Replay | 如果要重放跟踪,则捕获所需的TSQL语句的信息。 用途:性能微调、基准测试。 类:CursorClose、CursorExecute、CursorOpen、CursorPrepare、 CursorUnprepare、Audit Login、Audit Logout、ExistingConnection、 RPC Output Parameter、RPC:Completed、RPC:Starting、Exec Prepared SQL、 Prepare SQL、SQL:BatchCompleted、SQL:BatchStarting |
TSQL_SPs | 捕获有关执行存储过程的信息。 用途:分析存储过程的组件步骤。 类:Audit Login、Audit Logout、ExistingConnection、RPC:Starting、 SP:Completed、SP:Starting、SP:StmtStaring、SQL:BatchStarting |
Tuning | 捕获有关存储过程和TSQL批处理执行的信息。 用途:产生Database Engine Tuning Advisor的跟踪输出,用于调整数据库。 类:RPC:Completed、SP:StmtCompleted、SQL:BatchCompleted |
跟踪活动
启动profile后,我们对监控的数据库对象做任何的动作都可以在profile中查看性能记录。
SQL Profiler允许您在跟踪中搜集和显示查询计划信息。您可以向跟踪中添加Showplan事件类,甚至将这些Showplan事件保存到XML文件中。
应用场景:
执行应用程序页面上的某个按钮,我们想查看对应执行的SQL语句