TLS1.2遇到得奇怪SQL数据库集群崩溃问题

本文详细记录了一次因微软安全补丁导致的数据库集群崩溃事件,涉及TLS加密版本升级、补丁回退失败、操作系统与数据库版本不匹配、磁盘阵列固件限制等问题,最终通过特定版本组合实现故障恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2019年12月集群崩溃原因:
       微软更新了最新的2019年12月安全补丁(业务要求开启update自动更新),这个补丁或许关闭了TLS1.0-1.1加密,仅支持tls1.2加密算法.造成数据库集群无法和节点之间通讯,数据库完全崩溃。

问题可以参看:https://blogs.msdn.microsoft.com/sqlreleaseservices/tls-1-2-support-for-sql-server-2008-2008-r2-2012-and-2014/

那么为啥会折腾这么久呢。
1、方案一:想到了补丁回退,奈何这次更新的补丁是栈更新,无法进行回退
2、方案二:想到的解决方案是升级节点版本以满足TLS1.2,但是节点不是连机状态。无法升级,这条路PASS
3、方案三:通过SQL大版本更新,直接覆盖掉当前的版本,并且大版本原生支持TLS1.2,结果由于win2008r2不支持sql2016以上,这条路又PASS
4、方案四:那我就升级windows版本(项目有License),windows版本升级到2012后发现,集群的SCSI-3永久保留 校验过不去无法创建集群。经过检查是由于我们的磁盘阵列华为S2600 需要刷固件。于是到华为官网去查了相关驱动,发现自2018年10月份起,华为下架了S2600的全部资源,并且不提供任何技术支持。又一次GG。现在摆在我们面前只有一条路,要么更换磁盘阵列,要么退回到windows2008r2。
5、方案五:由于磁盘阵列硬件替换采购流程较长,紧急排障肯定是不是和得,最终我们的选择只有使用win2008r2操作系统一条路。最终解决方案,win2008r2+sql2008r2sp3cu2。由于sql2008r2的sp版本没有出过官方整合包,只能自己制作。

参考此文档:https://blogs.msdn.microsoft.com/petersad/2011/07/13/how-to-slipstream-sql-server-2008-r2-and-a-sql-server-2008-r2-service-pack-1-sp1/
制作完成以后,用新的镜像来安装,发现安装成功。故障转移群集创建成功。

这次的坑主要围绕着
1、栈更新补丁无法降级
2、数据库节点必须联机(正常运行)才能升级
3、操作系统不支持高版本的原生支持TLS1.2的数据库版本,2016以上数据库原生支持TLS1.2
4、磁盘阵列由于固件和官方下架问题不支持win2008r2以上系统的集群验证
5、微软官方没有制作官方镜相包,只能自己研究自己整合。

总结一下:为什么会出现这个问题

1、Windows开启了自动更新

2、数据库没有更新SP更没有更新CU

还好最后在团队得努力下解决了这次故障。共享出来给遇到相同问题得小伙伴们一点参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值