Windows Server 2012搭建SQL Server Always On踩坑全记录
Posted dalianmaodada
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows Server 2012搭建SQL Server Always On踩坑全记录相关的知识,希望对你有一定的参考价值。
Windows Server 2012搭建SQL Server Always On踩坑全记录
环境信息:
Windows Server 2012 R2
Sql Server 2012
整个搭建集群的过程主要分为3步:
- 1.配置预控,并把机器加域。
- 2.配置windows故障转移集群(Windows Failover Cluster)
- 3.配置SQL Server Always On High Availability Group(AG)
踩坑全记录
预控配置
比较好配置,需要注意的是非预控机器在加入域之前需要将dns指向预控。这里遇到的一个坑,在给node2节点加域时提示
虚拟机使用华为私有云申请,申请的服务器的sid因为与node1节点一致导致,重新生成sid即可,方法:
C:WindowsSystem32sysprepsysprep.exe
勾选通用项,并开始。
配置windows故障转移集群。
Node1上添加node2节点时提示“无法访问远程注册表,请确保远程服务器注册表服务已运行,并已启动远程管理”。
从字面意思来看,放这诊断注册表服务已经windows策略上,发现服务与策略配置都没问题。最后在node1上尝试添加本地节点node1时提示“本地没有安装故障转移工具”,在去windows服务里查询,果然只勾选了故障转移管理工具选项,实际并未安装故障转移集群(windows服务里是两个选型,勾选集群管理工具并不会级联集群服务)勾选上,问题解决。由于提示的误导,诊断了很长时间。
配置SQL Server AG
安装SQL server失败
因为没有安装.net framework 3.5。 windows server 2012 R2 无法安装.net framework 3.5的问题很普遍,在网上查了下都是使用手动制定个sxs本地文件路径,配置安装。网上很难找到sxs下载资源包,csdn上都是需要积分的,又需要可以私信我。
- 配置Sql Server Available Group时,创建AG 提示node2上指定文件目录不存在。
此问题是因为我node1和node2上的sql server 都使用的命名实例,node1上还有个默认实例,并且命名实例名称不同导致,误导node2去默认实例的文件夹上去找了,实际并没有安装默认实例。有的解决方案是通过写sql语句手动map到新的路径上,这种可以解决。
我直接在node2上直接新装了个默认实例,问题直接解决,简单粗暴。
配置Listener 侦听器
配置侦听器过程比较简单,指定一个静态IP地址,并指定默认端口号1433,不过在配置完侦听器有个特别奇葩的现象,只能在主节点上ping通侦听器name或者IP,在其他副本任何机器上无法ping通,也无法使用Sql Management Studio连接(在主节点上可以连接)。
数据库同步无问题,不过因为应用在连接集群时需要使用侦听器地址去连接,这个问题就导致外部应用无法连接集群,集群不work。从预控以及DNS的记录来看,一切正常.
在StackOverflow以及TechNet上查了很多帖子,有很多人遇到相同的问题,不过解决方案基本都不work。最后怀疑是网络问题,就联系网络管理员帮忙看,最后一起讨论了一番,果然是因为侦听器IP和name并没有在华为私有云上绑定暴露,所以也就认证了其他服务器无法ping通,而只有主节点才可以连的问题。网络管理员处理完后,问题解决。
结束语
整个搭建过程大概耗时一天半,期间更多的是环境问题以及多个节点上的重复工作,整个搭建过程还算顺利。之后在windows server 2016,SQL Server 2016 环境上,成功搭建无域的SQL AG环境,依旧踩到了很多坑,大家遇到问题私信我。
如果你也遇到了我列的坑,那希望这篇文章能够帮助到您。最全配置文档,关注公众号,私信作者。
?喜欢记得扫描下方二维码关注哦~
本文由博客群发一文多发等运营工具平台 OpenWrite 发布
以上是关于Windows Server 2012搭建SQL Server Always On踩坑全记录的主要内容,如果未能解决你的问题,请参考以下文章
VMware Workstation 11 搭建windows server 2012 之sql server 2012集群常见问题整理
SQL Server 高可用(always on)配置指南之域(AD)环境搭建
从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server 2012 AlwaysOn 第一篇(AD域与DNS)