处理锁、阻塞和死锁(3)??使用SQLServer Profiler侦测死锁
作者:网络转载 发布时间:[ 2013/3/28 11:07:38 ] 推荐标签:
前言:
作为DBA,可能经常会遇到有同事或者客户反映经常发生死锁,影响了系统的使用。此时,你需要尽快侦测和处理这类问题。
死锁是当两个或者以上的事务互相阻塞引起的。在这种情况下两个事务会无限期地等待对方释放资源以便操作。下面是死锁的示意图:
.png)
本文将使用SQLServer Profiler来跟踪死锁。
准备工作:
为了侦测死锁,我们需要先模拟死锁。本例将使用两个不同的会话创建两个事务。
步骤:
1、打开SQLServer Profiler
2、选择【新建跟踪】,连到实例。
3、然后选择【空白】模版:
.png)
4、在【事件选择】页中,展开Locks事件,并选择以下事件:
1、Deadlock graph
2、Lock:Deadlock
3、Lock:Deadlock Chain
.png)
5、然后打开TSQL事件,并选择以下事件:
1、SQL:StmtCompleted
2、SQL:StmtStarting
.png)
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com