0
<executionStack>
<frame procname="adhoc" line="1" sqlhandle="0x02000000cb01b3329478b4bbe70e115ebcb8f5f4a8610e7e">
(@1 varchar(8000),@2 varchar(8000),@3 varchar(8000),@4 varchar(8000))UPDATE [TABLE_NAME] set [END_TIME] = @1,[ERROR] = @2 WHERE [USER_ID][email protected] AND [SESSION_ID][email protected] AND [END_TIME] IS NULL </frame>
<frame procname="adhoc" line="1" sqlhandle="0x02000000ef595e01eab1df10c694910f5810afb17d814663">
UPDATE TABLE_NAME SET END_TIME='2012-03-30 12:07:45', ERROR='FALSE' WHERE USER_ID='username' AND SESSION_ID='095d42ad-67d8-444f-8e51-4576f6b940d8' AND END_TIME IS NULL </frame>
</executionStack>
以上是客户从站点发送给我的死锁痕迹的消毒实例。据我了解,当两次提交尝试按顺序访问相同的表时,发生死锁。这两个数据库为什么会死锁?
但是在这个实例中只有一个表,执行这些sql语句的代码将它们从队列中拉出并依次执行它们。
为什么会出现这种僵局?
这些陈述涉及的交易中还发生了什么? – 2012-07-19 14:13:17
您需要添加锁资源,所有者和服务员,以了解死锁信息。他们在XML中。 – 2012-07-19 14:22:22