19.2.1 了解SQL Server Profiler
SQL Server Profiler 是图形化实时监视工具,能帮助系统管理员监视数据库和服务器的行为, 比如死锁的数量,致命的错误,跟踪Transact-SQL 语句和存储过程。可以把这些监视数据存入表或文件中,并在以后某一时间重新显示这些事件来一步一步地进行分析。
通常我们使用SQL Server Profiler 仅监视某些插入事件,这些事件主要有:
- 登录连接的失败、成功或断开连接;
- DELETE、 INSERT、 UPDATE 命令;
- 远程存储过程调用(RPC) 的状态;
- 存储过程的开始或结束,以及存储过程中的每一条语句;
- 写入SQL Server 错误日志的错误;
- 打开的游标;
- 向数据库对象添加锁或释放锁。
19.2.2 创建跟踪
在SQL Server 中可以使用SQL Server Profiler 创建跟踪,也可以使用跟踪创建向导或是扩展存储过程。在这里我们将介绍如何使用SQL Server Profiler 来创建跟踪。
(1) 启动SQL Server Profiler (与启动SQL Server Enterprise Manager 一样),从File 的下拉菜单中选择New, 再选择Trace 选项,此时打开Trace Properties 对话框,如图19-2 所示。
在该对话框中定义跟踪的名称、类型、运行跟踪的SQL Server 以及跟踪输出数据的存储方式。其中各选项的含义为:
- Shared: 表示所有被允许登录到运行SQL Server Profiler 服务器的用户都可以使用该跟踪;
- Private: 表示只有当前创建者可以使用该跟踪;
- Capture to file: 表示将跟踪结果存储到文件中,可减少进行跟踪时的内存开销;
- Capture to table: 表示将跟踪结果存储到表中,这极易引起较大的额外系统开销。
(2) 选中Events 标签页,如图19-3 所示该对话框用来确定将跟踪哪些事件。在 Available Events 下的窗口中选择要跟踪的事件,底部的方框内便显示出该事件的含义,单击Add ,增加到Selected Events 事件中;
(3) 选中Data Columns 标签页,如图19-4 所示。在该对话框可以选择跟踪事件哪些数据列,通常选择那些我们比较关心的列。
(4) 选中Filters 标签页,如图19-5 所示。
(5) 单击“确定”按钮完成跟踪创建。
19.2.3 查看、分析跟踪
使用SQL Server Profiler 可以查看跟踪中的事件数据,在跟踪中的每一行代表一个事件,这些事件数据是由跟踪的属性决定的。可以把SQL Server 数据拷贝到其它的应用程序中,如SQL Server Query Analyzer 或Index Tuning Wizard 然后利用它们进行数据分析 ,但通常我们使用SQL Server Profiler 来进行跟踪分析。
利用SQL Server Profiler 既可以打开扩展名为.trc 的跟踪文件,也可以打开扩展名为.log 的日志文件,以及一般的SQL 脚本文件
因为跟踪信息通常保存在文件或表中,所以通过打开表或文件就可以查看、分析跟踪。
打开跟踪的步骤为:
从File 菜单中选择Open, 再选择Trace Files, 弹出如图19-6 所示的对话框。