1
1
首先,将您的SQL Server更新到最新的Service Pack级别。您可能希望查看自该Service Pack以来已发布的累积更新,并查看是否有任何问题听起来像您的特定问题。可能已经解决了。 SQL Server将选择取消死锁中的一个项,但这还取决于查询超时设置是什么。如果超时足够高(300秒…),SQL Server可以继续执行调用一段时间。 如果可能的话,您可以在SQL调用中对表使用nolock,使其成为非阻塞选择。对于Linq to SQL,将事务隔离级别设置为“未提交读取”,它与NoLock相同。 我将进一步跟踪linq-to-sql调用,并在SQL事件探查器中重新运行它们,以查看是否有更好的调优方法,比如更好的索引等。 |
2
0
我在Linq中看到过类似的行为,如果事务开始,但从未完成。 |