New*_*DBA 3 sql-server isolation-level availability-groups blocking sql-server-2017
我们最近从 LogShippingstandby/read-only设置迁移到具有可读辅助设备的多子网 AG 设置。
通常,在旧设置中,我们会选择运行较长时间的查询,因为相关数据库超过 20 TB,并且主数据库上有混合读写工作负载。
在转移到 AG 的新设置后,我们开始看到我无法理解的阻塞。为什么辅助选择查询会阻止我的可读辅助副本实例中的其他选择查询,即使正在查询的数据库有RCSI enabled?
以下是我捕获的内容
主要阻止程序是一些长时间运行的SELECT查询,不会显示任何特定的等待类型,例如 SPID129
SPID 129阻止会话 ID 45(我确信这不是用户 ID)近 6 小时,这取决于 spid129 并且等待类型是
LCK_M_SCH_M
SPID 45当这在 6 小时的持续时间内阻止所有其他选择查询时,问题就来了。
我无法理解发生了什么。有人可以帮助我排除故障或寻找正确的方向吗?