千家信息网

如何解决Sqlserver 2014 alwayson架构主节点执行alter table导致从节点的阻塞问题

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,如何解决Sqlserver 2014 alwayson架构主节点执行alter table导致从节点的阻塞问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙
千家信息网最后更新 2024年12月13日如何解决Sqlserver 2014 alwayson架构主节点执行alter table导致从节点的阻塞问题

如何解决Sqlserver 2014 alwayson架构主节点执行alter table导致从节点的阻塞问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

环境:
sqlserver 2014 alwayson架构
1个主节点
1个standby节点
6个只读节点

问题展现:
一台只读节点出现阻塞,主节点无法同步数据到这个只读节点。

问题原因:
在主节点执行了一个DDL语句,对一个表的字段类型进行了修改。
ALTER TABLE table1 ALTER COLUMN [Name] [NVARCHAR] (MAX)

此时正好只读库有一个关于table1表的长事务查询。
这个table1表的长事务查询阻塞了主节点执行ALTER TABLE table1 ALTER COLUMN [Name] [NVARCHAR] (MAX)对只读库的同步。
导致在只读节点上的table1表无法执行alter table操作。
这样导致所有的主节点的日志都无法从主节点同步到这个只读节点上。
而只读节点上所有后面对table1表的查询都被阻塞了。

查询主从同步脚本:
SELECT availability_mode_desc ,
role_desc ,
replica_server_name ,
last_redone_time ,
GETDATE() now ,
DATEDIFF(ms, last_redone_time, GETDATE()) diffMS
FROM ( ( sys.availability_groups AS ag
JOIN sys.availability_replicas AS ar ON ag.group_id = ar.group_id
)
JOIN sys.dm_hadr_availability_replica_states AS ar_state ON ar.replica_id = ar_state.replica_id
)
JOIN sys.dm_hadr_database_replica_states dr_state ON ag.group_id = dr_state.group_id
AND dr_state.replica_id = ar_state.replica_id;

解决办法:
为了尽快解决此问题,最快的办法是杀掉那个只读节点上的长事务查询的session
让主节点的这个alter table的DDL操作可以同步到只读节点上,阻塞解决,同步也恢复正常。

关于如何解决Sqlserver 2014 alwayson架构主节点执行alter table导致从节点的阻塞问题问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

节点 问题 阻塞 同步 查询 架构 事务 办法 更多 帮助 解答 易行 最快 简单易行 主从 内容 原因 字段 小伙 小伙伴 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器有问题的英文 是否可以更改明日之后的服务器 ie11应用程序中的服务器错误 nfs文件服务器开通哪些端口 30岁开始学网络安全吗 提供数据库维护服务 海思平台软件开发外包 金山区网络营销软件开发诚信合作 德迅云服务器是物理机吗 国家基础地理信息数据库的特点 打电话服务器出错怎么恢复 小程序共用数据库 网络安全的童谣手语 数据库的登录密码可以查吗 服务器部署人脸检测 计算机网络技术盛立军答案 胜加-商传互联网科技 抹掉所有数据无法连接服务器 路由器挖矿软件开发 数据库安全威胁有 战争雷霆空战服务器无响应 学软件开发需要多少年 软件开发需要英文 服务器内存条选择哪个好 卡拉赞 服务器 云服务器怎么安装软件 广州智能巡检软件开发怎么样 云南经济的具体数据库 中企欣软件开发公司 如何在数据库的表中的列添加数据
0