设置/更改lock_monitor默认间隔

时间:2016-08-04 08:06:20

标签: sql-server sql-server-2008-r2

我正在使用SQL Server 2008 R2。

我已在technet上阅读此文档:https://technet.microsoft.com/en-us/library/ms178104(v=sql.105).aspx

在我的应用程序中,我必须在5秒内响应工业机器。有时候(每天一次),我在数据库中遇到死锁,并重新运行事务。这个程序运作良好。

我的问题是死锁解决持续时间。知道我有5秒钟可以响应机器,我想将lock_monitor线程的默认时间间隔设置为2秒。因此,可以在5秒内检测到并解决死锁,因为现在需要7秒才能解决死锁。

有可能吗?

1 个答案:

答案 0 :(得分:1)

是的,可以更改阻止的流程阈值,但您不应该。

Configure Blocked Threshold

Increase / Decrease Threshold

Why You Shouldn't Do This...

旁注......

  

如果锁定监视器线程发现死锁,则死锁检测间隔将从5秒降至100毫秒,具体取决于死锁的频率。

     

如果锁定监视器线程停止查找死锁,则数据库   引擎将搜索间隔增加到5秒。

     

如果刚刚检测到死锁,则认为是下一个死锁   必须等待锁定的线程才进入死锁循环。该   在检测到死锁后,第一对锁等待   立即触发死锁搜索,而不是等待下一次   死锁检测间隔。例如,如果当前间隔为5   秒,刚刚检测到死锁,下一次锁定等待   立即启动死锁探测器。如果这个锁等待是一部分   一个死锁,它将被立即检测到,而不是在下一个死锁搜索期间

Reference