SQL Server Always On异步副本统计信息元数据死锁问题求助
问题描述
- 架构:4节点SQL Server Always On,包含2台同步提交模式服务器(A、B),2台异步提交模式服务器(C、D,作为报表服务器)
- 数据库配置:已开启
AUTO_UPDATE_STATISTICS和AUTO_UPDATE_STATISTICS_ASYNC,每日通过Ola Hallengren脚本执行统计信息更新任务 - 问题现象:一张频繁增删数据的小型表,在C/D服务器上其非索引列的统计信息更新操作全天多次触发元数据死锁,推测主库在异步副本首次更新统计信息前后执行了统计更新
- 环境补充:事务隔离级别为
READ COMMITTED(核心业务为资金交易) - 已尝试方案:关闭
AUTO_UPDATE_STATISTICS_ASYNC、取消统计更新任务,均未解决问题;未将C/D改为同步模式(因作为报表服务器)
死锁相关信息
死锁XML详情
<deadlock> <victim-list> <victimProcess id="process251f88cd088" /> </victim-list> <process-list> <process id="process251f88cd088" taskpriority="20" logused="0" waitresource="METADATA: database_id = 9 STATS(object_id = 1244635577, stats_id = 5), lockPartitionId = 0" waittime="1" ownerId="7702177286" transactionname="UpdateQPStats" lasttranstarted="2023-03-19T17:09:24.460" XDES="0x2d0bc918460" lockMode="Sch-M" schedulerid="10" kpid="5388" status="background" spid="56" sbid="0" ecid="0" priority="0" trancount="1"> <executionStack /> <inputbuf /> </process> <process id="process24f4fd95848" taskpriority="-20" logused="0" waitresource="METADATA: database_id = 9 STATS(object_id = 1244635577, stats_id = 5), lockPartitionId = 9" waittime="18" XDES="0x25328670040" lockMode="Sch-M" schedulerid="3" kpid="6952" status="background" spid="93" sbid="0" ecid="0" priority="0" trancount="0"> <executionStack /> <inputbuf /> </process> </process-list> <resource-list> <metadatalock subresource="STATS" classid="object_id = 1244635577, stats_id = 5" dbid="9" lockPartition="0" id="lock27adc589c80" mode="Sch-M"> <owner-list> <owner id="process24f4fd95848" mode="Sch-M" /> </owner-list> <waiter-list> <waiter id="process251f88cd088" mode="Sch-M" requestType="wait" /> </waiter-list> </metadatalock> <metadatalock subresource="STATS" classid="object_id = 1244635577, stats_id = 5" dbid="9" lockPartition="9" id="lock26b98caf480" mode="Sch-S"> <owner-list> <owner id="process251f88cd088" mode="Sch-S" /> </owner-list> <waiter-list> <waiter id="process24f4fd95848" mode="Sch-M" requestType="wait" /> </waiter-list> </metadatalock> </resource-list> </deadlock>
恳请技术协助解决此问题。
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

