我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复368或者20190919可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!
本文主要内容借鉴自Manvendra Singh 的 Add secondary replica to existing SQL Server AlwaysON Availability Group 。
新增的SQL Server服务器配置还是和之前的SQL Server虚拟机差不多,也设置了时区为北京时间,添加了简体中文(*)作为首选语言,加入了luoyong.com 这个域,我也让这个虚拟机使用了固定IP,然后为它执行了如下命令:
net localgroup administrators luoyong\crmadmin /add
net localgroup administrators luoyong\crmsvc /add
New-NetFirewallRule -DisplayName "SQL Server 1433" -Direction Inbound –Protocol TCP –LocalPort 1433 -Action allow
New-NetFirewallRule -DisplayName "HTTP 80" -Direction Inbound –Protocol TCP –LocalPort 80 -Action allow
New-NetFirewallRule -DisplayName "TCP 59999" -Direction Inbound –Protocol TCP –LocalPort 59999 -Action allow
New-NetFirewallRule -DisplayName "TCP 58888" -Direction Inbound –Protocol TCP –LocalPort 58888 -Action allow
New-NetFirewallRule -DisplayName "TCP 5022" -Direction Inbound –Protocol TCP –LocalPort 5022 -Action allow
然后我再检查下数据库Always On可用性组AG1的健康情况,连接到可用性组为主要的服务器上,右击 AG1(主要) 的可用性组,选择【显示面板】
我这里显示结果如下,结果为健康。
然后使用 luoyong\crmadmin 登录它,首先为该服务器启用故障转移集群功能,然后安装SQL Server,在LuoYongSQL1上打开【故障转移群集管理器】,添加 LuoYongSQL3这个节点。
添加后可以看到状态显示为正常
然后打开LuoYongSQL3的SQL Server 配置管理器程序,右击 SQL Server (MSSQLSERVER) 服务,点击属性,【启用AlwaysOn可用性组】,然后重启 SQL Server (MSSQLSERVER) 服务。
再使用 Microsoft SQL Server Management Studio连接到主库,依次展开【Always On高可用性】>【可用性组】>【AG1(主要)】>【可用性副本】,右击它,选择【添加副本】
第一页直接点击下一步,记得要可以连接到所有可用性副本才能进行本操作。
目前只有一个辅助性质的可用性副本,点击【连接】按钮连接好后点击【下一步】
点击【添加副本】,连接上要加入的新的SQL Server服务器,
我这里设置它的可用性模式为【异步提交】,可读辅助副本为是,这两者页面有解释,可以按需设置,然后点击【下一步】
我这保持不变,直接点击【下一步】。我选这个是因为我这个数据库很小,如果数据库大的话,可以将数据库做全备份后,使用NO RECOVERY模式恢复到LuoYongSQL3,然后这个选择【仅连接】这个选项。
验证没有问题,点击【下一步】
点击【完成】按钮会开始执行操作:
很快全部成功。
连接到LuoYongSQL3,可以看到正在做数据库同步,过些时间就会同步成功,状态也会从【正在同步】变成【已同步】。
若是Azure的话,把之前的负载均衡器 sqlLB 的 Backend Pool再添加下LuoYongSQL3