首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻塞可读的二级副本

阻塞可读的二级副本
EN

Database Administration用户
提问于 2021-04-06 14:13:26
回答 2查看 831关注 0票数 3

最近,我们从LogShipping standby/read-only安装程序迁移到多子网AG安装程序,具有可读的二级代码。

通常,在旧的设置中,我们可以选择运行时间更长的查询,因为所讨论的数据库超过20 TB,并且主数据库上有读写工作负载的混合。

在移动到AG的新设置后,我们开始看到阻塞,我无法理解。为什么二级上的select查询会阻塞我可读的二级副本实例中的其他select查询,即使被查询的数据库有RCSI enabled

下面是我捕捉到的

  • 铅阻止程序是一些长时间运行的SELECT查询,没有显示任何特定的等待类型,比如SPID 129
  • SPID 129阻塞会话ID 45 (我肯定这不是用户id)将近6个小时,这依赖于spid129,等待类型是LCK_M_SCH_M
  • 当这个SPID 45仅在6小时内阻塞所有其他select查询时,问题就出现了。

我无法理解正在发生的事情。有人能帮我排除故障或朝正确的方向看吗?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2021-04-06 15:01:14

对只读辅助副本的查询隐式地运行在快照隔离状态下,而不考虑会话隔离级别或RCSI设置。这避免了由于DML更改而造成的阻塞。只读查询仍然获得模式稳定性锁,这将通过重做线程阻止DDL操作,而visa则相反。

SPID 129阻塞会话ID 45 (我肯定这不是用户id),时间将近6个小时,它依赖于spid129,等待类型为LCK_M_SCH_M

在您的示例中,重做线程似乎在等待模式修改锁,但是被一个运行时间很长的查询/事务模式稳定性锁所阻止。其他查询则被重做线程阻塞。

查看SELECT查询执行计划和用于补救的事务的持续时间。

票数 4
EN

Database Administration用户

发布于 2021-04-06 17:20:09

我发现了来自ALTER重建活动的相同问题。我解决了把这个活动移到另一个时间窗口的问题。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/289363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档