我的应用程序一直在记录死锁异常,从sql返回到我的.net应用程序:Transaction (Process ID 152) was deadlocked on lock resources with我想进一步调查这件事,看看我是否能防止这些死锁的发生。
我如何获得那些过去和未来的死锁的细节?我记得sql服务器探查器能够使用一些xml提取一些死锁事件,这些xml显示死锁中涉及的所有查询。但是,由于这在Sql上运行,所以没有分析器。
一直在读死锁,当我以为我很清楚的时候,问题就来了。
有两种类似的交易同时进行。在同时运行其中两个事务之后,它就会死锁。分析器说,死锁查询是每个冲突进程的UPDATE t1 SET name='NewName', number=16 WHERE id = :id。对不起,我没有死锁的XML,但是分析器告诉我们,这两个进程都有X锁,它们都试图获取U锁。每个事务在同一个表中更新不同的行,为什么会死锁?网络上的许多例子都说:“嘿,这是因为它如何扫描索引,它扫