Hi,
We are having deadlock issues using SQL server 2008.
This is the victim process id
<deadlock-list>
<deadlock victim="processd1273708">
<process-list>
<process id="processd1273708" taskpriority="0" logused="272" waitresource="PAGE: 12:1:651143" waittime="18675" ownerId="1681482722" transactionname="INSERT" lasttranstarted="2013-01-30T13:41:59.597"
XDES="0xc883d620" lockMode="S" schedulerid="3" kpid="6764" status="suspended" spid="153" sbid="0" ecid="16" priority="0" trancount="0" lastbatchstarted="2013-01-30T13:41:59.593"
lastbatchcompleted="2013-01-30T13:41:59.593" clientapp="Linx2Record" hostname="WEB14" hostpid="5548" isolationlevel="read committed (2)" xactid="1681482722" currentdb="12" lockTimeout="4294967295"
clientoption1="673316896" clientoption2="128056">
This is happening because the end user form has a checkbox to mark an object as tagged (just meaning that an uploaded file or document is associated with something). When the checkbox is checked (onChecked) it automatically triggers a stored procedure to tag the object. The reverse is also true when the checkbox is unchecked (onUnchecked) the trigger is prompted to untag the object. So if a user decides to uncheck and check a checkbox multiple times the procedures will be called multiple times and they block each other.
This functionality was requested by the designers and it was thought that this was the solution but it's started causing this issue. Can anyone offer any advice as to improving this or offer an alternative? Is there an asynchronous alternative to triggers?
Thanks in advance...