博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件(转)
阅读量:6302 次
发布时间:2019-06-22

本文共 1526 字,大约阅读时间需要 5 分钟。

文章来源:http://www.cnblogs.com/hongkongli/archive/2013/02/01/2889524.html

在SQLServer2005之前,从不同的来源可以得到很多可用的脚本,来捕获哪些数据库进程产生阻塞以及哪些进程被阻塞。然而,这些脚本需要手工执行。sp_blocker就是一个实例。

  然而,我们可以利用Sql Server Profiler ,来自动的捕获被阻塞的进程。要用Sql Server Profiler捕获这些进程,我们需要用到Sql Server Profiler 的Blocked Process Report事件。

.Blocked Process Report:这表示一个任务被阻塞的时间已经超出了特定时间长度。这个事件类不包含系统任务或等待非死锁可检测(non-deadlock-detectable)资源的任务。

  为了配置Sql Server Profiler,我们必须在SqlServer中为捕获阻塞事件配置一个阈值。

现在我通过一个例子来实现,利用Sql Profiler捕捉阻塞事件:

一.配置Blocked Process Report

1.打开Sql Server Profiler工具 如图:

2.新建跟踪 如图:

3.选择要跟踪的数据实例,如图:

4.选择跟踪模板,为空白,如图:

5.选择Blocked Process Report 事件,如图:

 

为了配置阈值及生产报表的频度,可使用sp_configure命令来配置Blocked Process Report选项,默认情况下是不产生阻塞进程报表的。在代码实例中,Blocked Process Report配置为5秒钟报告一次阻塞事件,配置之后,再次执行sp_configure验证是否配置成功:

--首先执行以下语句配置sp_configure 'show advanced options',1GORECONFIGUREGOsp_configure 'blocked process threshold',5GO RECONFIGUREGO--然后再执行sp_configure

如上图,出现如红色的行,证明配置成功了。

二.通过示例里数据库PerformanceDB来实现阻塞事件做个实验。

我们为实验开两个查询窗口:

1.第一个窗口中,执行如下UPDATE语句,这段代码有意令事务保持打开,从而可以触发阻塞事件。

USE PerformanceDBBEGIN TRANUPDATE dbo.Orders_new SET EmpID=445,Filler='b' WHERE orderId=430

2.第二个窗口中,执行相同条件的数据行。由于数据已经被UPDATE 事务阻塞,因此这个查询将会被阻塞

SELECT * FROM dbo.Orders_new WHERE orderId=430

  但满足阻塞事件的阈值(在sp_configuer中为5秒)之后,Sql Profiler 会自动捕获每个阻塞事件。对于Sql Profiler中捕获的每个阻塞事件,Sql Profiler为阻塞者记录下执行语句,它会精确的定位哪个进程是阻塞者以及哪个进程被阻塞。这些数据会以XML格式显示,如图(会5秒钟捕捉一次):

  配置Sql Profiler来捕捉阻塞事件,使得性能监视以及调校任务比以前容易了很多,我们测量阻塞事件的发生频度以及每天发生的阻塞事件数目,将会提供性能数据的定量检测。

转载于:https://www.cnblogs.com/zping/archive/2013/02/19/2917176.html

你可能感兴趣的文章
iOS开发之核心动画(Core Animation)
查看>>
GNS3中PIX的激活使用
查看>>
安装配置LAMP
查看>>
排序算法大集锦_交换类——冒泡排序
查看>>
thinkphp3.2跨数据库联合查询
查看>>
MySql+Mongodb的学习探究(一)
查看>>
ios UIButton的 几种触发方式
查看>>
WSS项目管理系统Post get shell
查看>>
数据库访问性能优化(四)
查看>>
501程序员宣言
查看>>
将博客搬至51CTO
查看>>
思科ASA防火墙基本配置之双击故障倒换配置
查看>>
SQL Server函数大全
查看>>
CON-SNT,Con-csspp,Con-csspe,con-csspd 的具体含义。思科SMARTnet快速维护及快速维护现场服务...
查看>>
学会这15点,让你分分钟拿下Redis数据库
查看>>
Linux系统集群架构线上项目配置实战(二)
查看>>
中科院秒杀工信部 揭露360隐患或因积怨已久
查看>>
[转载]Android Inside:历史就这样诞生
查看>>
调查称乔布斯在苹果员工中支持率高达97%
查看>>
SharePoint 2010新体验
查看>>