行与其他表的级联删除异步删除。解决死锁的方法是什么?可以在事务中锁定相关表行吗?
这是xml报告:
<deadlock>
<victim-list>
<victimProcess id="process1f5b50928" />
</victim-list>
<process-list>
<process id="process1f5b50928" taskpriority="0" logused="288" waitresource="KEY: 81:72057594039107584 (8194443284a0)" waittime="5575" ownerId="1131789084" transactionname="user_transaction" lasttranstarted="2019-03-18T10:24:30.773" XDES="0x1b36356a8" lockMode="RangeS-U" schedulerid="2" kpid="3604" status="suspended" spid="134" sbid="2" ecid="0" priority="0" trancount="3" lastbatchstarted="2019-03-18T10:24:30.790" lastbatchcompleted="2019-03-18T10:24:30.790" lastattention="1900-01-01T00:00:00.790" clientapp=".Net SqlClient Data Provider" hostpid="21004" isolationlevel="read uncommitted (1)" xactid="1131789084" currentdb="81" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" sqlhandle="0x0200000064c34002e8fa5b7dac17b29471b98d1653a1e03a0000000000000000000000000000000000000000">
(@1 int)DELETE [dbo].[Users] WITH(rowlock) WHERE [Id]=@1 </frame>
<frame procname="adhoc" line="1" sqlhandle="0x020000001485b7340562f882a8e2556c22adf5f74806757d0000000000000000000000000000000000000000">
DELETE FROM [dbo].[Users] WITH (ROWLOCK) WHERE Id IN (723540); </frame>
</executionStack>
<inputbuf>
DELETE FROM [dbo].[Users] WITH (ROWLOCK) WHERE …Run Code Online (Sandbox Code Playgroud)