从 ReportServer.dbo.ExpireExecutionLogEntries 存储过程获取死锁数。我花了一整天的时间观看有关死锁的教程,但无法弄清楚这一点。
<deadlock>
<victim-list>
<victimProcess id="Victim" />
</victim-list>
<process-list>
<process id="Victim" taskpriority="0" logused="10000" waittime="101" schedulerid="1" kpid="596" status="suspended" spid="115" sbid="0" ecid="16" priority="0" trancount="0" lastbatchstarted="2021-08-14T01:59:59.513" lastbatchcompleted="2021-08-14T01:59:59.513" lastattention="1900-01-01T00:00:00.513" clientapp="Report Server" hostname="SERVER2" hostpid="4180" isolationlevel="read committed (2)" xactid="10654834267" currentdb="9" currentdbname="ReportServer" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="ReportServer.dbo.ExpireExecutionLogEntries" line="11" stmtstart="512" stmtend="886" sqlhandle="0x03000900f2182b44a41004007dab000001000000000000000000000000000000000000000000000000000000">
delete from ExecutionLogStorage
where DateDiff(day, TimeStart, getdate()) >= (select CAST(CAST(Value as nvarchar) as integer) from ConfigurationInfo where [Name] = 'ExecutionLogDaysKept' </frame>
</executionStack>
<inputbuf>
Proc [Database Id = 9 Object Id = 1143675122] </inputbuf>
</process> …
Run Code Online (Sandbox Code Playgroud)