码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server Profiler的简单使用

时间:2018-01-11 15:28:53      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:怎么办   版本   分享   www.   select   https   选择   index   rtti   

SQL Server Profiler可以检测在数据上执行的语句,特别是有的项目不直接使用sql语句,直接使用ORM框架的系统处理数据库的项目,在调试sql语句时,给了很大的帮助。

之前写了使用SQL Server Profiler追踪死锁的文章《SQL Server Profiler追踪数据库死锁》,这里再简单写SQL Server Profiler使用过程中常用到的功能。

 

这里使用SQL Server 2008 R2版本

1. 在安装SQL Server 数据库时,请保证安装了SQL Server Profiler,默认情况全部安装都会自动安装上。

2. 打开SQL Server Management Studio,在菜单中,找到“工具”菜单,找到SQL Server Profiler菜单项,如下图所示。

技术分享图片

 

3. 选择“事件选择”,勾选常用的几项即可,如下图所示。

技术分享图片

 

4. 选择“显示所有列”,之后在列表中,勾选“DatabaseName”项。

技术分享图片

 

5. 设置筛选器,这里设置只是过滤数据库名称,因为一个数据库实例中如果有多个数据库,那么不筛选数据库名称,那么所有数据库上的执行语句都能监控得到。

还可以设置Duration,筛选不同执行时间的sql语句,例如可以过滤执行时间较长的sql语句,选择可以优化sql语句。

如果同一个数据库,多个人访问,只想检测自己操作的语句怎么办?可以给数据库创建一个自己登陆的数据库账户(检测完后可以删除此用户),之后,在LoginName筛选器中,筛选自己登陆的数据库账户即可。

技术分享图片

 

设置之后点击【运行】则开始监控了,监控画面如下。

技术分享图片

 

 

事件以不同的特性(被称为数据列)来表现。数据列表现一个事件的不通特性,如事件的类、用于该事件的SQL语句、事件的资源开销以及事件来源。

数据列 说明
EventClass(事件类) 事件类型,如SQL:StatementCompleted
TextData 事件所用的SQL语句,如SELECT * FROM Person
CPU 事件的CPU开销(以ms表示),如对一个SELECT语句,CPU=100表示该语句执行100ms
Reads 为一个事件所执行的逻辑读操作数量。例如对一个SELECT语句,Reads=800表示该语句需要800次逻辑读操作
Writes 为一个事件所执行的逻辑写操作数量
Duration 事件的执行时间(ms)
SPID 用于该事件的SQL Server进程标识符
StartTime 事件开始的时间

   以上是常用的数据列,另外还有一些不太常用的数据列:

  •   BinaryData(二进制数据)
  •   IntegerData(整数数据)
  •   EventSubClass(事件子类)
  •   DatabaseID(数据库标识符)
  •   ObjectID(对象标识符)
  •   IndexID(索引标识符)
  •   TransactionID(事务标识符)
  •   Error(错误)
  •   EndTime(结束时间)

更加详细的内容参见:https://www.cnblogs.com/kissdodog/p/3398523.html

SQL Server Profiler的简单使用

标签:怎么办   版本   分享   www.   select   https   选择   index   rtti   

原文地址:https://www.cnblogs.com/wangyanyan/p/8267540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!