我们的数据库变得完全锁定,并且似乎许多与彼此无关的表同时被锁定。当这种情况发生时,它会被锁定约2分钟,当发生这种情况时,它与我们的应用程序当时的流量无关。
我们试图在我们的测试服务器上复制这个问题。
但如果这是来自于,却无法得出结论。
是否有任何类型的SQL Server配置或后台运行任务可能导致此(备份、事务日志相关内容等)?
是否可以通过日期范围跟踪锁(例如:在特定时间内获取数据库中当前锁的快照)?
发布于 2012-10-22 12:03:44
而不回答你的问题。根据日期范围跟踪锁,所有类型的事情都会对数据库产生这种影响。
我首先要检查这个问题是否是环境问题。使用Windows查看系统资源当时正在做什么。例如,当SQL Server检查点操作需要很长时间才能完成时,就会发生这种情况。上述问题通常可以通过配置1分钟左右的“恢复间隔”来解决。
为了确保发生了什么,我将设置Windows计数器来监视您的DB / Log文件所在的任何磁盘的CPU使用情况、内存使用情况和磁盘队列长度。根据我的经验(高OLTP),对于任何磁盘,磁盘队列长度不应超过2。您通常可以配置一个单独的服务器,每30秒左右将这些计数器记录到磁盘,以便监视不会对DB服务器的性能产生不利影响。以这种方式也可以监视并发连接和锁的数量。
https://dba.stackexchange.com/questions/27359
复制相似问题