SQL Server 2014:存储过程等待锁定的时间

时间:2016-07-26 13:54:08

标签: sql-server tsql

使用SQL Server 2014:我的系统中有2个重要的存储过程 我担心存储过程等待锁多长时间。

我正在考虑找到一种方法来确定存储过程结束时的锁定等待时间有多长,如果它大于某个阈值,则创建一个应用程序日志条目并进行记录。

是否有任何实用的方法(如@@SystemVariables之一)确定存储过程中到目前为止的锁等待时间,而不将另一个查询开销强加到系统表中?

1 个答案:

答案 0 :(得分:2)

我建议您启用blocked process threshold event。启用后,如果进程阻止另一个进程的时间超过配置的阈值,它将触发类型为Blocked Process Report的事件。这甚至比你要求的更好:

  • 它不仅会在长时间等待时触发,还会显示导致长时间等待
  • 作为事件,它可以触发操作(例如,发送电子邮件)。请参阅Understanding Event Notification以了解如何使用此活动。
  • 它不需要在您的程序中更改代码。