我需要创建一个警报,当任何查询被阻止超过 60 秒时会通知我。例如,如果有人在表上打开了一个事务并且忘记运行提交或回滚。这可以从系统表中获取吗?
我在生产服务器上遇到了奇怪的事情。客户端(都在本地 LAN 上)在查询时出现超时错误,本应完全没有问题。
我花了一个下午在 SQL Server Profiler 中实时观察跟踪,而毫无意义的绝对缩影是批处理:
SELECT GETDATE() As ServerDate
Run Code Online (Sandbox Code Playgroud)
探查器显示数字的地方:
在这个数据库引擎中可能会发生什么,完全良性查询需要太长时间?
因为即使服务器是忙,一个查询,需要:
不应该需要 17 秒才能完成。
唯一的出路是想办法弄清楚这duration 意味着什么。
持续时间是什么意思?是吗:
或者是:
或者是: …