使用SQLProfiler(事件探查器)跟踪数据库操作及慢查询

1:应用程序连接SQL SERVER数据库服务器;

2:打开SQL Profiler开启数据库事件跟踪;

(1):打开SQL Server Management Studio,选择 “工具”—“SQL Server Profiler”,如下图:

(2): 连接到指定服务器,并制定跟踪计划;

选择需要连接的服务器之后;

默认弹出跟踪属性设置界面,

可以设置跟踪结果保存到文件或者保存到表,并能设置跟踪的停止时间;如下图:

在事件选择框中选择要跟踪的事件,如下图:

具体事件类别请参考。

上图可以看出,可以跟踪指定的应用程序,指定的机器名,指定的数据库登录名,能记录所有应用程序发出的SQL操作请求以及执行开始时间,结束时间,持续时间等;

在上图的列筛选器中对需要跟踪的事件设置筛选条件;如下图:

如有多个应用程序或者多个人同时登陆连接到这台数据库服务器,可以在这里进行筛选设置,只跟踪指定机器,指定应用程序,指定数据库登录用户的所有数据库操作;

具体跟踪各事件列的含义请参考:

点运行之后,可自动运行,无须值守,可自动运行到之前设置跟踪计划时指定的停止时间,停止跟踪;

(3):运行应用程序,进行测试操作;

应用程序包括:所有连接数据库的应用程序都可以,无论是C/S架构的软件,还是B/S架构的浏览器,或者数据库本身,所有连接到数据库,对数据库做的任何操作都可以记录,并可以根据设置的跟踪条件进行筛选;

如设置超过指定时间的查询:

(4):对跟踪结果进行分析;如下图:

如上图所示,已经记录了执行的SQL查询语句,开始时间,结束时间,持续时间,查询的应用程序名,发起人等;

注:有时候可能显示时间都0,此时可以工具——>选项中对时间单位进行设置。

附录:

事件类别

 

Broker 事件类别包括由 Service Broker 生成的事件类。

Cursors 事件类别包括由游标操作生成的事件类。

CLR 事件类别 包括通过执行 .NET 公共语言运行时 (CLR) 对象而生成的事件类。

Database 事件类别包括自动增大或收缩数据文件或日志文件时生成的事件类。

Deprecation 事件类别包括与不推荐使用的情况相关的事件。

Errors and Warnings 事件类别(数据库引擎)包括返回 SQL Server 错误或警告时产生的事件类。例如,编译存储过程时发生的错误或 SQL Server 中的异常错误。

Full Text 事件类别包括启动、中断或停止全文搜索时生成的事件类。

Locks 事件类别包括在获取、取消、释放锁时或者在对锁执行一些其他操作时生成的事件类。

Objects 事件类别包括在创建、打开、关闭或删除数据库对象时生成的事件类。

OLEDB 事件类别包括由 OLE DB 调用生成的事件类。

Performance 事件类别包括在执行 SQL 数据操作语言 (DML) 运算符时生成的事件类。

Progress Report 事件类别包括 Progress Report: Online Index Operation 事件类。

Scans 事件类别包括扫描表和索引时生成的事件类。

Security Audit 事件类别包括用于审核服务器活动的事件类。

Server 事件类别包含常规服务器事件。

Sessions 事件类别包括在连接和断开 SQL Server 实例的客户端时生成的事件类。

Stored Procedures 事件类别包括执行存储过程时生成的事件类。

Transactions 事件类别包括执行 Microsoft 分布式事务处理协调器事务时或写入事务日志时生成的事件类。

TSQL 事件类别包括执行从客户端传递到 SQL Server 实例的 Transact-SQL 语句时生成的事件类。

User-Configurable 事件类别包括可以定义的事件类。

详情请参考:http://technet.microsoft.com/zh-cn/library/ms175481(v=sql.90).aspx

使用SqlServer_Profiler跟踪慢查询的更多相关文章

  1. 【VBA研究】VBA通过HTTP协议实现邮件轨迹跟踪查询

    作者:iamlasong 1.接口说明 通过互联网訪问,运单跟踪信息查询接口基于HTTP协议开发,接口为RESTFul风格的Web Service,信息交互过程为用户按我方提供的web service ...

  2. PostgreSQL 慢查询SQL跟踪

    PostgreSQL 开启慢SQL捕获在排查问题时是个很有效的手段.根据慢SQL让我在工作中真正解决了实际问题,很有帮助. PostgreSQL 日志支持的输出格式有 stderr(默认).csvlo ...

  3. PostgreSQL 慢查询SQL语句跟踪

    示例:启用 SQL 跟踪PostgreSQL 日志支持的输出格式有 stderr(默认), csvlog , syslog 一般的错误跟踪,只需在配置文件 [postgresql.conf]简单设置几 ...

  4. 【监控实践】【4.1】利用trace实现阻塞跟踪和慢查询跟踪

    原文:https://blog.csdn.net/kk185800961/article/details/49252037 分享个SQLServer profiler 的一个技巧吧.很早用过,忘记总结 ...

  5. SQL Server 默认跟踪(Default Trace)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 基础知识(Rudimentary Knowledge) 查看默认跟踪信息(Default Tr ...

  6. Entity Framework Code First实体对象变动跟踪

    Entity Framework Code First通过DbContext.ChangeTracker对实体对象的变动进行跟踪,实现跟踪的方式有两种:变动跟踪快照和变动跟踪代理. 变动跟踪快照:前面 ...

  7. Bug跟踪的流程

    本文以翼发云协同项目管理系统为例子来讲解Bug跟踪的流程,它以工作流为中心的集成式Bug跟踪软件,它广泛地应用于研发行业的产品缺陷管理 与跟踪.事务跟踪.问题跟踪.任务跟踪.查询跟踪.需求管理.变更跟 ...

  8. AX2012 ERP “系统慢”调优---跟踪SQL执行,优化代码

    对于用户来说,系统是:慢的,难用的.你看xxx,多好用,多快,多人性化. 对于AX ERP系统也不例外,调优是必须的,调优一般分为几种: 系统性监测针对瓶劲环节提升,如:用户--应用服务器--DB-- ...

  9. SQL Server 默认跟踪(Default Trace)获取某个Trace跟踪了哪些Event和column

    检查Default Trace是否已经开启,如果返回Figure1中value为1,那就说明已经开启默认跟踪了:如果value为0表示关闭默认跟踪: --查询Default Trace是否开启 ; 如 ...

随机推荐

  1. AI佳作解读系列(二)——目标检测AI算法集杂谈:R-CNN,faster R-CNN,yolo,SSD,yoloV2,yoloV3

    1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理.本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析. 目标检测可以理解为是物 ...

  2. zabbix异常信息修改已确认,为未确认

    问题知悉只能知悉一次知悉了之后就不能再次知悉了,但又不想再创建新的异常怎么办呢.....直接改数据库数据.首先找到acknowledges表这里边存放的全是已经知悉的异常然后找events表,even ...

  3. python json数据的转换

    1  Python数据转json字符串 import json json_str = json.dumps(py_data) 参数解析: json_str = json.dumps(py_data,s ...

  4. Java多线程处理某个线程超时的问题

    ExecutorService exec = Executors.newFixedThreadPool(4); List<Future<Integer>> futures = ...

  5. HBase · 印象

    2018-12-20 关键词: HBase是什么 . 什么是HBase . HBase基本概念 本篇文章系本人根据目前所掌握的知识对 HBase 的基本概念作出的一篇轻简式科普文章.关于文章所述的知识 ...

  6. Bigtable:A Distributed Storage System for Strctured Data

    2006 年10 月Google 发布三架马车之一的<Bigtable:A Distributed Storage System for Strctured Data>论文之后,Power ...

  7. 第四十篇-private,public,protected的区别

    1.public: public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private: private表示私有,私有的意思就是除了class自己之外,任何人都不可 ...

  8. ansible基本使用方法

    一.ansible的运行流程 ansible是基于ssh模块的软件,所以主控端和被控端的ssh服务必须正常才能保证ansbile软件的可用性. 检查ssh服务是否正常:   systemctl sta ...

  9. 记一次504 Gateway Time-out

    使用curl请求是超时,查了下资料原来是端口被占用,造成了死锁,记录下 首先要知道为什么会出现死锁? 在我们访问页面的时候这个端口进程就已经被使用,当我们再在页面中curl请求其他页面因为没有其他的端 ...

  10. 集合的遍历以及在Spring中的注入

    (一)遍历 list:foreach循环 set:foreach循环 map:先用set集合得到所有key值,然后循环key得到所有vale Map<String,String> map ...