SQL Server跟踪工具Profiler的使用
一.什么是SQL Profiler
SQL Server Profiler 是一个功能丰富的界面,用于创建和管理跟踪并分析和重播跟踪结果。 事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播特定的一系列步骤。
二.为什么要使用SQL Profiler
在实际开发中,我们的数据库应用系统因为不可避免会存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等,所以会出现一系列问题,有问题不可怕,找对工具很重要。接下来我就介绍一款性能检测工具--SQL Server Profiler,它可以对sql运行情况进行跟踪,从而找出问题所在。 SQL Server Profiler 是 SQL 跟踪的图形用户界面,用于监视数据库引擎或 Analysis Services 的实例。 您可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析。
例如:
可以对生产环境进行监视.
了解哪些存储过程由于执行速度太慢而影响了性能。
同时SQL Server Profiler 用于下列活动中:
逐步分析有问题的查询以找到问题的原因。
查找并诊断运行慢的查询。
捕获导致某个问题的一系列 Transact-SQL 语句。 然后用所保存的跟踪在某台测试服务器上复制此问题,接着在该测试服务器上诊断问题。
监视 SQL Server 的性能以优化工作负荷。 有关为数据库工作负荷而优化物理数据库设计的信息,请参阅数据库引擎优化顾问。
使性能计数器与诊断问题关联。
SQL Server Profiler 还支持对 SQL Server 实例上执行的操作进行审核。 审核将记录与安全相关的操作,供安全管理员以后复查。
三.SQL Profiler的使用方法
1.首先是打开SQL Profiler,如下图:
2.打开工具选择对应的服务器,如下图:
3.点击确定之后将标签页切换到事件选择页签,勾选如下选项(有的服务器默认会显示所有列,这里选择下图中的三个即可),如下图:
5.打开列筛选器的相应界面后,可以根据两种方式进行筛选过滤,分别是DataBaseName和HostName,如下图:(以下步骤可跳过,直接点击运行也可看到数据)
6.如果是选择DataBaseName进行过滤的时候,返回主界面找到你所需要跟踪的数据库名,如下图:
7.查找到对应的数据库名称之后,可以在DataBaseName过滤条件中填入对应的值,如下图:
8.也可通过程序主机名进行过滤(例如:我的程序主机名是SKTNB033),如果不清楚自己的主机名可通过语句(select HOST_NAME())进行查询。
9.就我个人而言,SQL Profiler可以用做两个用途,一个是查看执行过的SQL,将语句copy出来放到查询分析器执行,找到问题数据源头;另外一个就是查看语句执行时间,找出耗时较长的语句对其进行优化,如下图:
SQL Server跟踪工具Profiler的使用的更多相关文章
- SQL Server客户端工具到底使用的是哪个provider呢?
SQL Server客户端工具到底使用的是哪个provider呢? 转载自:http://blogs.msdn.com/b/apgcdsd/archive/2013/01/10/sql-server- ...
- 详解SQL Server 2008工具SQL Server Profiler
一.SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 1.图形化监视SQL Server查询: 2.在后台收集查询信息: 3.分析性能: 4.诊 ...
- sql server trace 和 Profiler
MS SQL Server Profiler概述: MS SQL Server Profiler是SQL Trace的GUI接口,提供对SQL Server Database Engine ...
- sql server 跟踪各事件的字段项编码及解释
column_id有如下表:1 TextData 与跟踪内捕获的事件类相关的文本值. 2 BinaryData 与在跟踪中捕获的事件类相关的二进制值. 3 DatabaseID USE databas ...
- DBA应该知道的一些SQL Server跟踪标记
跟踪标记是什么? 对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这 ...
- sql server 跟踪日志
1,当SQL Server错误日志很大时,手工运行: exec sp_cycle_errorlog 系统存储过程,即可使用新的日志文件 sqlserver系统自动调用 exec sp_cycle_e ...
- sql server实用工具sql prompt的安装与注册
说起 sql prompt ,相信一直在sql server 领域摸爬滚打的技术人员们,并不陌生. 它是一款拥有SQL智能提示功能的SQL ServerVS插件.SQL Prompt能根据数据库的对象 ...
- sql server开发工具
查询分析器的使用 SQL语言包含四个部分: 1.数据定义语言(DDL) : 例如 create, drop, alter等语句 2.数据操作语言(DML) : 例如 insert,delete, up ...
- SQL SERVER 跟踪调优书籍
SQLServer监控和诊断 SQL SERVER 性能优化的艺术
随机推荐
- 如何去除List集合中重复的元素
1.通过循环进行删除 public static void removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ...
- springmvc json乱码问题
在方法上加上:produces属性即可 @RequestMapping(produces = "application/json;charset=utf-8")
- 线性dp—奶牛渡河
题目 Farmer John以及他的N(1 <= N <= 2,500)头奶牛打算过一条河,但他们所有的渡河工具,仅仅是一个木筏. 由于奶牛不会划船,在整个渡河过程中,FJ必须始终在木筏上 ...
- tabBar配置和修改
1.tabBar(底部导航栏) 属性 默认值 描述 平台支持 color tab上未被选中时文字的颜色 selectedColor tab上被选中时文字的颜色 backgroundCo ...
- Redux的理解与使用
一.什么是Redux? Redux是一个第三方状态管理的js库,它不仅仅可以适用于react框架,还可以用于其他的vue,auglar等框架.只不过react的生态中不包括一个状态管理的库而已,所以与 ...
- sass-loader安装+Failed to resolve loader: sass-loader You may need to install it.解决方法
方式一: 通过 cnpm 安装node-sass cnpm install node-sass --save 方式二: 通过npm 安装 1.安装sass-loader npm install sas ...
- 【XCTF】Cat
标签:宽字节.PHP.Django.命令执行 解题过程 目录扫描没有发现任何可疑页面. 测试输入许多域名,均没有反应:输入ip地址得到回显. 猜测为命令执行,尝试使用管道符拼接命令. 测试:|.&am ...
- 【Python】关于如何判断一个list是否为空的思考
前言 今天随手翻 stackoverflow,看到问题叫 How do I check if a list is empty? 一看这个问题,不难猜到到这是一个刚学 Python 的人提问的,因为这个 ...
- REACT——虚拟DOM
深入了解虚拟DOM 实际顺序 jsx->createElemnt ->虚拟DOM(JS 对象)->真实DOM 虚拟DOM中的Diff算法 :当react查找差异的时候,就会采用dif ...
- mysql间隙锁
什么是间隙锁(gap lock)? 间隙锁是一个在索引记录之间的间隙上的锁. 间隙锁的作用? 保证某个间隙内的数据在锁定情况下不会发生任何变化.比如我mysql默认隔离级别下的可重复读(RR). 当使 ...