简介
看了下现在网上的很多文章,搭建Always On的环境都需要配置域服务器,配置步骤很多也很复杂,对说实话我对WinServer操作系统不是很熟,很多组件配置东西都是网上找资料,图形化界面用着很不顺手(有点怀念Linux 的命令行 ),现在手头上正好有个新项目,客户只提供了两台服务器,正好SQL Server 2019也支持无域模式的Always On,故此记录一下。
环境介绍
软件 | 版本 |
---|---|
操作系统 | WinServer 2019 |
SQL SERVER | SQL SERVER 2019 |
服务器 | IP |
---|---|
主数据库 | 192.168.1.105 |
辅助数据库 | 192.169.1.200 |
服务器配置
安装故障转移
两台服务器都需要配置
修改主机名并加入域
两台服务器都需要配置
这里我把主数据库命名为master,辅助数据库命名为backup,计算机全名修改为自己需要的后缀
修改hosts文件
两台服务器都需要配置
这里总共需要4个IP,
192.168.1.105 master.xxxx.com 192.168.1.200 backup.xxxx.com 192.168.1.201 alwaysOn 集群IP,虚拟的 192.168.1.203 mk-SQL 监听器IP
关闭防火墙
设置允许应用或功能通过windows防火墙,这里我为了图省事直接把防火墙关了。
修改DNS
首选DNS服务器修改为 集群IP
新建故障转移集群(任一台服务器)
分别输入master、backup添加,效果如图
查看节点状态
在这里跟着提示一路走下去,增加服务器选项时分别输入 master 、backup并逐一添加
验证故障转移是否成功(任意一台电脑关机)
最好测试两台电脑(也可跳过不做这一步)
如192.168.1.105关机(有人问怎么打开这个界面?在服务器管理器–>工具–>故障转移群集–>右键故障转移群集管理器–>连接到群集(N)–>输入集群的名称,如:mk-alwayson)
验证成功后接下来就可以继续安装SQL SERVER 2019数据库了
设置共享文件
在C盘中新建一个gdmk文件夹(两台都要建)
设置共享人为Everyone,修改权限级别为读取/写入 // 按我见解,应该两台服务器admin账号密码一致,设置admin可读写,不需要erverone,否则很危险!
数据库安装
数据库配置
数据库开启Always On
右击属性
在数据库里面安装证书(特别特别要小心)
主数据库,在SSMS中执行
USE master; GO --创建主密钥 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Abc123'; --创建证书 这里有两个"CERT1",建议每台机器都改成不同的名称以作区分 CREATE CERTIFICATE CERT1 WITH SUBJECT = 'CERT1', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30'; --把刚才创建的证书备份到文件 这里也有两个CERT1要改 BACKUP CERTIFICATE CERT1 TO FILE = 'C:\gdmk\CERT1.cer'; --创建终结点,设为证书验证 这里第二行有1个CERT1要改 CREATE ENDPOINT [group0_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE , ENCRYPTION = REQUIRED ALGORITHM AES) GO
辅助数据库
USE master; GO --创建主密钥 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Abc123'; --创建证书 这里有两个"CERT1",建议每台机器都改成不同的名称以作区分 CREATE CERTIFICATE CERT2 WITH SUBJECT = 'CERT2', START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30'; --把刚才创建的证书备份到文件 这里也有两个CERT1要改 BACKUP CERTIFICATE CERT2 TO FILE = 'C:\gdmk\CERT2.cer'; --创建终结点,设为证书验证 这里第二行有1个CERT1要改 CREATE ENDPOINT [group0_endpoint] AUTHORIZATION [sa] STATE=STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE , ENCRYPTION = REQUIRED ALGORITHM AES) GO
互换和载入对方的证书
将自己的证书分别拷贝至对方服务器
192.168.1.105 的CERT1.cer拷贝到 192.168.1.200
192.168.1.200 的CERT2.cer拷贝到 192.168.1.105
添加副本
更改为任意副本
添加侦听器
连接的时候连接监听器地址192.168.1.201 就可以了
这时测试下,可以让其中一台电脑故障(关机也可以),这时会自动转移到另外一台数据库上,在另外一台数据库里做增删改查等操作,但凡这台电脑开机,正常运行了,数据也会自动同步到这台电脑数据库里,这台电脑挂了,另外一台电脑的数据库依然接着继续运行,保证数据一切正常。
特别要注意的是
监听器ip可以不用做 连接集群ip就可以了
建立集群的时候必须要在集群ip上建立
集群建立好之后先创建数据库 看到主副本数据库同步之后才能转移
调节的时候我是将主数据库调节为同步模式 副本调节为异步模式
测试的时候 在集群ip上创建数据库高可用性模式 ,看能否同步到主从数据库上
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/4127.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~