数据库跟踪——SQL Server Profiler详解

工具简介

SQL Server Profiler这个工具是SQL Server数据库自带的语句执行跟踪工具,常使用于分析软件修改数据库时所执行的语句,适合用来研究软件运行数据库的原理。如果你的工作是软件运营的工作,那么这个工具还是比较常用的。

操作指导

1、SQL Server Profiler工具一般都是跟着SQL Server一起安装的,自带嘛,直接在【开始】-【程序】-【Microsoft SQL Server】中就可以找到了,点击打开。

2、打开工具,这里就不一一对所有功能做介绍了,首先建立一个跟踪;

 3、然后输入你需要跟踪的数据库服务器地址,一般都是本地电脑了,直接Windows验证登录就好;

4、然后进行一些基础设置,比如说跟踪的名称、保存位置等等,也支持设置保存为数据库的表,当然我是一般不设置了,默认的已经能够满足大部分需求了,莫要求太多,想深究的话可以自己慢慢研究,我是偏执狂,等猴年马月再来分析;

5、运行后,就可以开始跟踪抓取数据库动作了textdata列就是运行的语句了,当然点击某一行也能够再下方的栏目中查看语句。

 6、在跟踪运行过程中,去执行你要分析的动作,等动作执行完就可以暂停或者是结束跟踪了;

 7、到了这里,就是去跟踪结果里面找想要的答案了,这个得根据需求来的,字段简单介绍下:

  • ApplicationName:这个是创建 SQL Server 连接的那个客户端应用程序的名称。
  • BinaryData: 依赖于跟踪中捕获的事件类的二进制值。
  • ClientProcessID: 调用 SQL Server 的应用程序的进程 ID。
  • CPU: 事件使用的 CPU 时间(毫秒)。
  • Duration: 事件占用的时间。尽管服务器以微秒计算持续时间,SQL Server Profiler 却能够以毫秒为单位显示该值,具体情况取决于“工具”>“选项”对话框中的设置
  • EndTime: 事件结束的时间。对指示事件开始的事件类(例如 SQL:BatchStarting 或 SP:Starting)将不填充此列。
  • LoginName: 用户的登录名(SQL Server 安全登录或 Windows 登录凭据,格式为“域用户名”)
  • NTusername: Windows用户名。
  • Reads: 由服务器代表事件读取逻辑磁盘的次数。
  • TextDate: 依赖于跟踪中捕获的事件类的文本值;
  • SPID: SQL Server 为客户端的相关进程分配的服务器进程 ID。
  • StratTime: 事件(如果可用)的启动时间。
  • Writes: 由服务器代表事件写入物理磁盘的次数。

8、还可以通过查询关键字的方式来找:编辑--查找,然后填写查找内容进行查找,这样也能方便找到;

其他方法的话就自己摸索吧,个人觉得最快的方式就是把这个跟踪结果放到数据库表里,这样搜索结果更方便快捷。