处理锁、阻塞和死锁(3)——使用SQLServer Profiler侦测死锁

发表于:2013-3-28 10:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:黄钊吉    来源:51Testing软件测试网采编

  前言:

  作为DBA,可能经常会遇到有同事或者客户反映经常发生死锁,影响了系统的使用。此时,你需要尽快侦测和处理这类问题。

  死锁是当两个或者以上的事务互相阻塞引起的。在这种情况下两个事务会无限期地等待对方释放资源以便操作。下面是死锁的示意图:

  本文将使用SQLServer Profiler来跟踪死锁。

  准备工作

  为了侦测死锁,我们需要先模拟死锁。本例将使用两个不同的会话创建两个事务。

  步骤:

  1、打开SQLServer Profiler

  2、选择【新建跟踪】,连到实例。

  3、然后选择【空白】模版:

  4、在【事件选择】页中,展开Locks事件,并选择以下事件:

  1、Deadlock graph

  2、Lock:Deadlock

  3、Lock:Deadlock Chain

  5、然后打开TSQL事件,并选择以下事件:

  1、SQL:StmtCompleted

  2、SQL:StmtStarting

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号