Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2014:存储过程等待锁定的时间_Sql Server_Tsql - Fatal编程技术网

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

Sql server SQL Server 2014:存储过程等待锁定的时间,sql-server,tsql,Sql Server,Tsql,使用SQL Server 2014:我的系统中有两个重要的存储过程 我关心的是存储过程等待锁的时间 我想找到一种方法来确定存储过程结束时的锁等待时间有多长,如果它大于某个阈值,则创建一个应用程序日志条目并记录它 是否有任何实用的方法(如@@SystemVariables中的一种)来确定存储过程中到目前为止的锁等待时间,而不将另一个查询开销强加给系统表?我建议您启用。启用时,如果一个进程阻塞另一个进程的时间超过配置的阈值,它将触发类型为的事件。这比你要问的还要好: 它不仅在发生长时间等待时触发,

使用SQL Server 2014:我的系统中有两个重要的存储过程 我关心的是存储过程等待锁的时间

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


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

我建议您启用。启用时,如果一个进程阻塞另一个进程的时间超过配置的阈值,它将触发类型为的事件。这比你要问的还要好:

  • 它不仅在发生长时间等待时触发,还显示是谁导致了长时间等待
  • 作为事件,它可以触发操作(例如发送电子邮件)。请参阅以了解如何使用此事件
  • 它不需要在过程中更改代码

作为补充说明,我正在努力使用使用事件的SQL监控服务来添加对此事件的支持,这是一个好主意。但是,在生产环境中,我没有访问服务器的权限。我只有DBO访问数据库的权限,我无法更改。这就是为什么我必须想出一个设计,我在数据库中得到我所需要的一切。服务器级访问不是我的选项。如果您不能使用事件,我建议使用它,这样您可以看到当前会话中锁等待时间的增加。需要SQL Server 2016。是否有适合SQL14的设计?希望我没有要求太多:)最终,你一定会输掉这场战斗。您试图完成的是监视,并且需要适当的权限。修改代码来规避这一点只会产生足够的解决方案。