zoukankan      html  css  js  c++  java
  • SQL Server Profiler的简单使用

    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

  • 相关阅读:
    详解 ASP.NET异步
    web开发中对网站建设
    《如何学习C++语言》和《如何学习C语言》
    WCF体系架构(之一:Client与Server信息交互处理流程初略介绍)
    常用的shell命令
    功能最强大的.Net代码生成器——EasyCode,欢迎使用
    对面向对象设计原则的总结
    学习之模块架构 DotNetNuke 6
    软件测试
    微软开放ASP.NET MVC 4、Web API和Web Pages v2的源代码
  • 原文地址:https://www.cnblogs.com/wangyanyan/p/8267540.html
Copyright © 2011-2022 走看看