cc.net

起于C,兴于asp,盛于php,折于java,成于.net
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用SQL Server Profiler

Posted on 2006-11-21 16:00  cc校友录 校友录建设专家  阅读(454)  评论(0编辑  收藏  举报
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 所示的对话框。