Sql server 锁监视器无法自动处理死锁的原因

Sql server 锁监视器无法自动处理死锁的原因,sql-server,Sql Server,为什么sql server锁监视器线程不能解决死锁 关于这一点,我没有太多的细节,但我的朋友们抱怨SQL Server(2005和2008)数据库上不时出现死锁 据我所知,Sql Server死锁检测机制可以很好地处理死锁场景,方法是选择一个进程作为牺牲品并终止/回滚它,这样另一个进程就可以完成,所以不会留下死锁来解决 是否存在SQL Server死锁处理可能失败或被关闭的情况 提前感谢死锁处理只能导致一个连接被终止 这是解决死锁情况的唯一方法,死锁发生在两个进程相互阻塞时。所以两者都不能继续,

为什么sql server锁监视器线程不能解决死锁

关于这一点,我没有太多的细节,但我的朋友们抱怨SQL Server(2005和2008)数据库上不时出现死锁

据我所知,Sql Server死锁检测机制可以很好地处理死锁场景,方法是选择一个进程作为牺牲品并终止/回滚它,这样另一个进程就可以完成,所以不会留下死锁来解决

是否存在SQL Server死锁处理可能失败或被关闭的情况


提前感谢

死锁处理只能导致一个连接被终止


这是解决死锁情况的唯一方法,死锁发生在两个进程相互阻塞时。所以两者都不能继续,必须中止一个

那么,服务器上会出现死锁的原因是什么?SQL Server无法解决死锁情况的原因是什么?@Hazimdekenli:死锁只能通过终止连接来解决。也就是说,SQLServer通过终止连接解决了死锁。就这么简单。死锁不能以静默方式解决,并且总是发生在具有SQL Server和SQL Server等锁定机制的RDBMS上Sybase@hazim-这上面有成吨的材料。我理解连接终止部分,因此,受害者的锁消失了,而另一个进程的事务完成了,应该没有剩余的锁,可能他们将锁误列为死锁。@Hazimdekenli:SQL Server将重新使用SPID号,因此,即使是全新的连接,该SPID号的锁似乎仍然存在。您的朋友如何确定存在死锁,而不仅仅是正常的阻塞。也许是一个无限期挂起的事务?是的,问题很好,他们检测到持续时间很长的锁,我不知道,如果你能从锁信息中找出它是否导致了死锁,可能是他们只是假设这些锁是由死锁引起的:)