| cbrichards via SQLMonster.com 2006-11-09, 7:13 pm |
| Let's say I have SPID #1 at the head of a blocking chain, referencing Table1,
attempting to perform an INSERT, with a lastwaittype of PAGELATCH_SH.
Then let's say I have SPID #2 being blocked by SPID #1, and SPID #2 has a TAB
waitresource, referencing Table2, attempting to perform an INSERT, with a
lastwaittype of LOCK_M_IX.
I am trying to interpret this. In my real life situation, the only insert
SPID #1 is performing is into a Temp Table. The select statement used to
insert into the TempTable, has a join using both Table1 and Table2. SPID #1
has a waitresource of 40:1:41356, which returns Table1 (Not the Temp Table)
when I run the following.
DBCC TraceOn (3604)
GO
DBCC PAGE (40, 1, 41356)
GO
select object_name(<m_objId value> )
So to interpret my real life situation, which corresponds to SPID #1 and SPID
#2 above, do I interpret this as saying:
(1) SPID #1 has a lock on Table1?
(2) Or does SPID #1 have a lock on an index on Table1?
(3) Is SPID #2 attempting to perform an INSERT on Table2, but cannot because
it cannot obtain an exlusive lock on Table2?
Somehow, that does not make sense, so I am hoping for some clarification
--
Message posted via webservertalk.com
http://www.webservertalk.com/Uwe/Fo...server/200611/1
|