I need some little help to understand why a specific deadlock is happening on a specific table of my database. I know a very little of deadlocks, specially deadlocks on a same table.
Could you give some help with this deadlock? I'm not searching a specific solution, I just only want to know why this deadlock is happening:
<deadlock-list>
<deadlock victim="process4aa5b88">
<process-list>
<process id="process4aa5b88" taskpriority="0" logused="0" waitresource="PAGE: 14:1:6535"
waittime="4912" ownerId="260658" transactionname="UPDATE" lasttranstarted="2015-02-10T09:35:10.040"
XDES="0x8006bb70" lockMode="U" schedulerid="8" kpid="2804" status="suspended" spid="221" sbid="0" ecid="5"
priority="0" trancount="0" lastbatchstarted="2015-02-10T09:35:09.993"
lastbatchcompleted="2015-02-10T09:35:09.993" clientapp=".Net SqlClient Data Provider" hostname="ANP-APP"
hostpid="6728" isolationlevel="read committed (2)" xactid="260658" currentdb="14" lockTimeout="4294967295"
clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="2" sqlhandle="0x02000000c7f3e035aa74a68d308785ac6386d1ee4b1f924e">
UPDATE ic_seguimiento_contenedor SET nave_id = M.id_interno, nave_nombre=M.campo2 FROM mantenedor_general M WHERE ic_seguimiento_contenedor.nave_id = 0 AND ic_seguimiento_contenedor.estado_cod<20 AND M.id_empresa=ic_seguimiento_contenedor.id_empresa AND ic_seguimiento_contenedor.id_empresa=105 AND M.mantenedor='mant_nave' AND ltrim(rtrim(M.campo1))=ltrim(rtrim(ic_seguimiento_contenedor.nave_cod)) AND ic_seguimiento_contenedor.key_negocio ='53E010566725403' </frame>
</executionStack>
<inputbuf> </inputbuf>
</process>
<process id="process4a8b288" taskpriority="0" logused="0" waitresource="PAGE: 14:1:6535"
waittime="6287" ownerId="260658" transactionname="UPDATE" lasttranstarted="2015-02-10T09:35:10.040"
XDES="0xbf9597b0" lockMode="U" schedulerid="7" kpid="6952" status="suspended" spid="221" sbid="0" ecid="7"
priority="0" trancount="0" lastbatchstarted="2015-02-10T09:35:09.993"
lastbatchcompleted="2015-02-10T09:35:09.993" clientapp=".Net SqlClient Data Provider" hostname="ANP-APP"
hostpid="6728" isolationlevel="read committed (2)" xactid="260658" currentdb="14" lockTimeout="4294967295"
clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="2" sqlhandle="0x02000000c7f3e035aa74a68d308785ac6386d1ee4b1f924e">
UPDATE ic_seguimiento_contenedor SET nave_id = M.id_interno, nave_nombre=M.campo2 FROM mantenedor_general M WHERE ic_seguimiento_contenedor.nave_id = 0 AND ic_seguimiento_contenedor.estado_cod<20 AND M.id_empresa=ic_seguimiento_contenedor.id_empresa AND ic_seguimiento_contenedor.id_empresa=105 AND M.mantenedor='mant_nave' AND ltrim(rtrim(M.campo1))=ltrim(rtrim(ic_seguimiento_contenedor.nave_cod)) AND ic_seguimiento_contenedor.key_negocio ='53E010566725403' </frame>
</executionStack>
<inputbuf> </inputbuf>
</process>
<process id="process463d948" taskpriority="0" logused="0" waitresource="PAGE: 14:1:6503"
waittime="4912" ownerId="260657" transactionname="UPDATE" lasttranstarted="2015-02-10T09:35:10.040"
XDES="0xb4595850" lockMode="U" schedulerid="4" kpid="2060" status="suspended" spid="219" sbid="0" ecid="3"
priority="0" trancount="0" lastbatchstarted="2015-02-10T09:35:09.993"
lastbatchcompleted="2015-02-10T09:35:09.993" clientapp=".Net SqlClient Data Provider" hostname="ANP-APP"
hostpid="6728" isolationlevel="read committed (2)" xactid="260657" currentdb="14" lockTimeout="4294967295"
clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="2" sqlhandle="0x02000000c7f3e035aa74a68d308785ac6386d1ee4b1f924e">
UPDATE ic_seguimiento_contenedor SET nave_id = M.id_interno, nave_nombre=M.campo2 FROM mantenedor_general M WHERE ic_seguimiento_contenedor.nave_id = 0 AND ic_seguimiento_contenedor.estado_cod<20 AND M.id_empresa=ic_seguimiento_contenedor.id_empresa AND ic_seguimiento_contenedor.id_empresa=105 AND M.mantenedor='mant_nave' AND ltrim(rtrim(M.campo1))=ltrim(rtrim(ic_seguimiento_contenedor.nave_cod)) AND ic_seguimiento_contenedor.key_negocio ='53E010566725403' </frame>
</executionStack>
<inputbuf> </inputbuf>
</process>
<process id="process449ebc8" taskpriority="0" logused="0" waitresource="PAGE: 14:1:6503"
waittime="6287" ownerId="260657" transactionname="UPDATE" lasttranstarted="2015-02-10T09:35:10.040"
XDES="0x80007a70" lockMode="U" schedulerid="1" kpid="6936" status="suspended" spid="219" sbid="0" ecid="5"
priority="0" trancount="0" lastbatchstarted="2015-02-10T09:35:09.993"
lastbatchcompleted="2015-02-10T09:35:09.993" clientapp=".Net SqlClient Data Provider" hostname="ANP-APP"
hostpid="6728" isolationlevel="read committed (2)" xactid="260657" currentdb="14" lockTimeout="4294967295"
clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="2" sqlhandle="0x02000000c7f3e035aa74a68d308785ac6386d1ee4b1f924e">
UPDATE ic_seguimiento_contenedor SET nave_id = M.id_interno, nave_nombre=M.campo2 FROM mantenedor_general M WHERE ic_seguimiento_contenedor.nave_id = 0 AND ic_seguimiento_contenedor.estado_cod<20 AND M.id_empresa=ic_seguimiento_contenedor.id_empresa AND ic_seguimiento_contenedor.id_empresa=105 AND M.mantenedor='mant_nave' AND ltrim(rtrim(M.campo1))=ltrim(rtrim(ic_seguimiento_contenedor.nave_cod)) AND ic_seguimiento_contenedor.key_negocio ='53E010566725403' </frame>
</executionStack>
<inputbuf> </inputbuf>
</process>
<process id="process4a8b048" taskpriority="0" logused="10000" waittime="4905" schedulerid="7" kpid="6324"
status="suspended" spid="219" sbid="0" ecid="0" priority="0" trancount="2"
lastbatchstarted="2015-02-10T09:35:09.993" lastbatchcompleted="2015-02-10T09:35:09.993"
clientapp=".Net SqlClient Data Provider" hostname="ANP-APP" hostpid="6728" loginname="sa"
isolationlevel="read committed (2)" xactid="260657" currentdb="14" lockTimeout="4294967295"
clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="2" sqlhandle="0x02000000c7f3e035aa74a68d308785ac6386d1ee4b1f924e">
UPDATE ic_seguimiento_contenedor SET nave_id = M.id_interno, nave_nombre=M.campo2 FROM mantenedor_general M WHERE ic_seguimiento_contenedor.nave_id = 0 AND ic_seguimiento_contenedor.estado_cod<20 AND M.id_empresa=ic_seguimiento_contenedor.id_empresa AND ic_seguimiento_contenedor.id_empresa=105 AND M.mantenedor='mant_nave' AND ltrim(rtrim(M.campo1))=ltrim(rtrim(ic_seguimiento_contenedor.nave_cod)) AND ic_seguimiento_contenedor.key_negocio ='53E010566725403' </frame>
</executionStack>
<inputbuf> UPDATE ic_seguimiento_contenedor SET nave_id = M.id_interno, nave_nombre=M.campo2 FROM mantenedor_general M WHERE ic_seguimiento_contenedor.nave_id = 0 AND ic_seguimiento_contenedor.estado_cod<20 AND M.id_empresa=ic_seguimiento_contenedor.id_empresa AND ic_seguimiento_contenedor.id_empresa=105 AND M.mantenedor='mant_nave' AND ltrim(rtrim(M.campo1))=ltrim(rtrim(ic_seguimiento_contenedor.nave_cod)) AND ic_seguimiento_contenedor.key_negocio ='53E010566725403' </inputbuf>
</process>
</process-list>
<resource-list>
<pagelock fileid="1" pageid="6535" dbid="14" objectname="icomexvi_dys.dbo.ic_seguimiento_contenedor" id="lock95e1e800" mode="U" associatedObjectId="72057594108248064">
<owner-list/>
<waiter-list>
<waiter id="process4aa5b88" mode="U" requestType="wait"/>
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="6535" dbid="14" objectname="icomexvi_dys.dbo.ic_seguimiento_contenedor" id="lock95e1e800" mode="U" associatedObjectId="72057594108248064">
<owner-list>
<owner id="process4a8b048" mode="U"/>
</owner-list>
<waiter-list>
<waiter id="process4a8b288" mode="U" requestType="wait"/>
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="6503" dbid="14" objectname="icomexvi_dys.dbo.ic_seguimiento_contenedor" id="lock96c23080" mode="U" associatedObjectId="72057594108248064">
<owner-list/>
<waiter-list>
<waiter id="process463d948" mode="U" requestType="wait"/>
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="6503" dbid="14" objectname="icomexvi_dys.dbo.ic_seguimiento_contenedor" id="lock96c23080" mode="U" associatedObjectId="72057594108248064">
<owner-list>
<owner id="process4aa5b88" mode="U"/>
</owner-list>
<waiter-list>
<waiter id="process449ebc8" mode="U" requestType="wait"/>
</waiter-list>
</pagelock>
<exchangeEvent id="Pipec6a2eac0" WaitType="e_waitPipeGetRow" nodeId="4">
<owner-list>
<owner id="process463d948"/>
</owner-list>
<waiter-list>
<waiter id="process4a8b048"/>
</waiter-list>
</exchangeEvent>
</resource-list>
</deadlock>
</deadlock-list>
I very appreciate your help! Thanks in advance


OPTION (MAXDOP 1))