Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2008 Forums
 SQL Server Administration (2008)
 RID in deadlocks

Author  Topic 

ranvir_2k
Posting Yak Master

180 Posts

Posted - 2011-09-02 : 10:46:20
Hi all,

Below is part of a Wait-for graph for a deadlock. How can I dentify the row which is being referred to by RID 13:1:119678:17.

I know 13 is the database number, 1 is the file id, 119678 is the page number, 17 is row number.

How do I find out which table is being locked? I'm guessing it's something to do with the page number.


Wait-for graph
spid5s NULL
spid5s Node:1
spid5s RID: 13:1:119678:17 CleanCnt:4 Mode:X Flags: 0x2
spid5s Wait List:
spid5s Owner:0x0000000096C604C0 Mode: U Flg:0x2 Ref:1 Life:00000000 SPID:95 ECID:0 XactLockInfo: 0x0000000107390AE8
spid5s SPID: 95 ECID: 0 Statement Type: UPDATE Line #: 1
spid5s Input Buf: Language Event: (@P0 nvarchar(4000),@P1 nvarchar(4000),@P2 varchar(8000),@P3 nvarchar(4000),@P4 decimal(38,6),@P5 nvarchar(4000),@P6 varchar(8000),@P7 nvarchar(4000),@P8 nvarchar(4000),@P9 nvarchar(4000),@P10 nvarchar(4000),@P11 varchar(8000)
spid5s Requested By:
spid5s ResType:LockOwner Stype:'OR'Xdes:0x000000020E637170 Mode: U SPID:91 BatchID:0 ECID:0 TaskProxy:(0x00000001093D2598)

GilaMonster
Master Smack Fu Yak Hacker

4507 Posts

Posted - 2011-09-02 : 14:53:08
Use Traceflag 1222 rather than 1204. The new one produces a much better output and will actually tell you the table names.

Or..

DBCC TRACEON (3604)
DBCC PAGE (13,1,119678)
DBCC TRACEOFF (3604)

Look for the Object_Id given in the output and use that to query sys.objects.

--
Gail Shaw
SQL Server MVP
Go to Top of Page
   

- Advertisement -