小编Rub*_*mez的帖子

sql server 2008 中简单查询的死锁

我有一个应用程序必须从表中删除和插入注册表,该表存储访问控制的历史注册表,并与系统中的检查日期时间一起存储。

现在就是这个问题。我有一个线程池,其中每个线程在一段时间内(通常是一个月)工作超过一天。当这个过程开始时,它给了我一些死锁。我做了一个锁跟踪,在死锁图中只说一个进程被阻塞,但没有说哪个句子或事务发生了,在死锁日志中它说Parallel query worker thread was involved in a deadlock. 如何进行更详细的跟踪或查询以了解是什么导致了我的应用程序和数据库阻塞?

谢谢

编辑

这是我在过去几天中所做的跟踪的 XML:

<deadlock victim="process45f9fb048">
  <process-list>
   <process id="process45f9fb048" taskpriority="0" logused="0" waitresource="PAGE: 4:1:98644" waittime="5369" ownerId="1282041063" transactionname="DELETE" lasttranstarted="2014-06-27T03:15:01.157" XDES="0xbeb91620" lockMode="U" schedulerid="7" kpid="1984" status="suspended" spid="204" sbid="0" ecid="4" priority="0" trancount="0" lastbatchstarted="2014-06-27T03:15:00.620" lastbatchcompleted="2014-06-27T03:15:00.620" clientapp="SQLAgent - TSQL JobStep (Job 0xF408BE64B781AB40B05180C1B2EB9DC8 : Step 1)" hostname="REPORTESCRYSTAL" hostpid="28848" isolationlevel="read committed (2)" xactid="1282041063" currentdb="4" lockTimeout="4294967295" clientoption1="673185824" clientoption2="128056">
    <executionStack>
     <frame procname="msdb.dbo.sp_syscollector_purge_collection_logs" line="31" stmtstart="2152" stmtend="2720" sqlhandle="0x03000400af551732fc7ab30044a000000100000000000000">
DELETE FROM dbo.sysssislog
        FROM dbo.sysssislog AS s
        INNER JOIN dbo.syscollector_execution_log_internal AS l …
Run Code Online (Sandbox Code Playgroud)

sql-server deadlock parallelism

3
推荐指数
1
解决办法
1657
查看次数

标签 统计

deadlock ×1

parallelism ×1

sql-server ×1