2011-09-19 77 views
2

首先,我必须说,我有一些SQL Server的基本知识,并与我想弄清楚如何解决死锁。帮助解释跟踪,以找到一个SQL服务器的死锁

我跑DBCC TRACEON(1204,-1),执行的罪魁祸首代码,最后执行的xp_readerrorlog存储过程这给了我下面的输出:

Deadlock encountered .... Printing deadlock information 
Wait-for graph 
NULL 
Node:1 
OBJECT: 9:1093578934:0   CleanCnt:2 Mode:IX Flags: 0x1 
Grant List 2: 
Grant List 3: 
    Owner:0x000000008165A780 Mode: IX  Flg:0x40 Ref:2 Life:02000000 SPID:57 ECID:0 XactLockInfo: 0x0000000082F00EC0 
    SPID: 57 ECID: 0 Statement Type: EXECUTE Line #: 1 
    Input Buf: RPC Event: Proc [Database Id = 9 Object Id = 1877581727] 
Requested by: 
    ResType:LockOwner Stype:'OR'Xdes:0x0000000082E02E80 Mode: S SPID:56 BatchID:0 ECID:0 TaskProxy:(0x00000000826EE538) Value:0x81a6f9c0 Cost:(0/1492) 
NULL 
Node:2 
APPLICATION: 9:0:[Proligent Analytics]:(6ff56412) CleanCnt:2 Mode:X Flags: 0x5 
Grant List 2: 
    Owner:0x000000008165DE40 Mode: X  Flg:0x40 Ref:1 Life:00000000 SPID:56 ECID:0 XactLockInfo: 0x0000000082E02EC0 
    SPID: 56 ECID: 0 Statement Type: OPEN CURSOR Line #: 27 
    Input Buf: RPC Event: Proc [Database Id = 9 Object Id = 1966630049] 
Requested by: 
    ResType:LockOwner Stype:'OR'Xdes:0x0000000082F00E80 Mode: X SPID:57 BatchID:0 ECID:0 TaskProxy:(0x00000000827B8538) Value:0x83e29d40 Cost:(0/250576) 
NULL 
Victim Resource Owner: 
ResType:LockOwner Stype:'OR'Xdes:0x0000000082E02E80 Mode: S SPID:56 BatchID:0 ECID:0 TaskProxy:(0x00000000826EE538) Value:0x81a6f9c0 Cost:(0/1492) 

我的问题是,我不知道如何用这个来找出发生了什么事。我读过,你可以得到被锁定的存储过程,但我不知道如何。

请多多指点,我们将不胜感激。

感谢

+3

'select db_name(9),object_name(1093578934,9),object_name(1966630049,9),object_name(1877581727,9)'应该给你一些对象。 –

+0

谢谢Martin,这正是我所需要的。为什么你没有发布这个作为获得rep点的答案? –

+0

@MartinSmith为什么不把你的评论发布为答案? – jambriz

回答

2

正如@马丁·史密斯说,在他的评论:选择DB_NAME(9),OBJECT_NAME(1093578934,9),OBJECT_NAME(1966630049,9),OBJECT_NAME(1877581727,9)应该给你一些对象。