小编Ale*_*eyS的帖子

级联删除的 SQL Server 死锁

行与其他表的级联删除异步删除。解决死锁的方法是什么?可以在事务中锁定相关表行吗?

这是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)

sql sql-server deadlock

5
推荐指数
1
解决办法
323
查看次数

标签 统计

deadlock ×1

sql ×1

sql-server ×1