准备工作
首先需要准备好Windows Server上的故障转移群集,步骤可以参考上一篇。
https://blog.csdn.net/u012869793/article/details/127560270?spm=1001.2014.3001.5501
然后服务器上安装好SqlServer,我这里安装的是2019。
正文
勾选启用Always ON可用性组,然后重启该服务。
然后在主服务器上的数据库中添加一个数据库,并准备一点测试数据。
在Always On 高可用中,右键,选择新建 可用性组,并输入名字SQLAG
。然后点击下一步。
这里提醒需要完整备份。
那我们先去备份一下数据库,取消新建可用性组的窗口。然后右键点击数据库,选择任务,备份。进行数据库的完整备份。
备份完成之后,把备份文件,拷贝到从服务器上,打开SQLServer进行数据库还原。
这里有一点需要注意,在左边选择 选项,恢复状态记得要选择
RESTORE WITH NORECOVERY
,然后还原数据库。
还原数据库之后,数据库应该一直处于正在还原的状态。
然后我们继续新建可用性组。这里就满足先决条件了,勾选需要进行同步的数据库。然后点击下一步。
这里需要连上另一台服务器上的数据库来加入副本,选择添加副本。
输入另外一台服务器的主机名或者IP地址,用户名,和密码,进行连接。注意需要把对应服务器的的TCP和IP以及代理服务都启用。
配置好之后,副本 页面 如下图设置,
端点页面如下图设置,可以把域名改成IP。然后点击下一步
可能会弹出这个提示。
这是因为SQL Serrver服务被我改成了登录WindowsServer的管理员账号。点击是即可。
这里我们选择仅联接,然后点击下一步。
因为副本服务器上已经有一个正在还原的数据库了,所以不用选择 完整的数据库和日志备份,若副本服务器上没有数据库呢,可以选择该选项,并输入一个共享的文件地址,用于还原数据库。
后面就直接下一步,下一步,然后点击完成。
等待配置完成。
正常最后就应该完成了,如下图。
但是如果最后失败了,点开错误,发现是如下的错误。则可能是SqlServer服务登录账户问题,以及防火墙问题。
防火墙设置如下,在入站规则里,把1433和5022端口添加到新建的规则里。
对于SQLServer服务的登录问题,则先进入到数据库软件打开,找到管理员账户,把权限全部勾上把。
然后把SqlServer服务的账号改成当前计算机的管理员账号和密码,保存后重新启动该服务。
上面配置完成的话,按照如下步骤添加监听器。
测试阶段
在主库,新建表,添加测试数据后,回到从库,查询,发现数据已经同步过来了。