绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
基于WINDOWS SERVER 2019 SQLSERVER2016的无域alwasy on超详细教程(多图)
2023-03-22 11:03:15

一、 准备工作

操作系统:Windows Server 2019 数据中心版

数据库:SQL Server 2016 企业版

注意:Windows Server 2019 也可以无域配置群集

环境规划:

注意事项:

1、 两个节点的Windos Server 2019 都以Administrator账户运行,并且两台服务器的Administrator密码相同。

2、 两个节点的SQL Server 2016 服务启动账户都设置成Administrator 。

3、 两个服务器一定要互换证书!!

4、 注意防火墙

5、注意自增长id

二 、安装 windows 故障转移群集

1、 安装 windows sever 2019 datacenter 系统(2台机器分别安装 windows Server2019,过程略,此为 2 个节点。)

2、 运行账号 (2个节点创建相同用户名和密码的用户,且把此用户加入到服务器本地管理员组,我这里直接用的 Administrator 也符合条件,把密码设置为相同即可。)

3、搭建 windows 故障转移群集。(两台服务器均需要)

1>设置服务器名 DNS 后缀:服务器管理器-本地服务器-点击计算机名-点击更改-点击其他-填写DNS后缀

2>配置注册表把 LocalAccountTokenFilterPolicy 的值设置为 1,配置方法:在 powershell 中执 行如下命令:

new-itemproperty -path
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1

执行成功后:

3、添加故障转移集群功能和添加DNS服务器(故障转移集群功能所有节点都需要安装)

4>配置DNS

*** 我这里是建议每台设备单独配置DNS的,因为我要去中心化,如果只有一台设备配置了DNS,而那台设备如果垮了,就整个垮了.***

5>5在每个节点的 hosts 文件中添加节点的计算机信息、群集信息、侦听器信息。目录为:

C:\Windows\System32\drivers\etc

6>关闭防火墙 ,如果不能关闭防火墙,设置允许应用或功能通过防火墙,2个节点均要设置,按照下 面图中红框框出的地方设置,注意选项后面打勾的位置。

7>创建故障转移集群

三、 配置 Always On

1、 安装 SQLServer2016 每个节点都要独立安装,具体过程和平时安装 SQLServer 一致。

另 2016 的 SSMS 和实例是分开的,需要另外安装。可以用 SQL2017 的 SSMS,官网可以下载。

2、 启用 AlwaysOn 打开 SQLServer2016 管理配置器,配置如下

启用always on 可用组

3、修改 SQLServer 实例启动账户为 Administrator:密码为winserver登录密码

4、确认数据库是否启用高可用

参考文档:docs.microsoft.com/zh-c

5、建立共享文件夹,授予everyone权限

6、 新建 AlwaysOn 高可用组,我这里使用的 HIS_SLAVE_1 作为主副本,因为刚好上面有 测试用过的库,也可以指定其他节点做主副本。

这里如果远程链接不上,可以检查1433端口或防火墙允许应用或功能通过windows defender防火墙设置

添加副本后注意调整选项,这里可用性模式决定了同步方式,自动故障转移决定了是否可以故障 时主副本的转移方式。刻度辅助副本应该都选是,否则数据不可读。当然这些选项也可以再 alwaysOn 搭建完成后再主副本上进行配置。

点击下一步竟然报错

“端点”选项卡列出至少一个仅使用 Windows 身份验证的端点。但是,该服务器实例可能正以某一非域帐户运行。若要使用列出的端点,请将相应的 SQL Server 服务帐户更改为域帐户。若要继续使用该非域帐户,请更改该端点以便使用证书。

此时 就需要分别在两个节点数据库上创建证书,并且彼此还原对方的证书,SQL代码如下:

--共享文件夹路径: ---\\HIS_SLAVE_1\his_cluster_share_disk
--节点一上执行:创建主密钥/证书/端点,备份证书。 
--创建主密钥
USE master; 
GO 
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'wxl.1989'; ----密码
GO 


--创建证书
CREATE CERTIFICATE CERT_HIS_SLAVE_1
WITH SUBJECT = 'CERT_HIS_SLAVE_1', 
START_DATE = '2021-04-04',EXPIRY_DATE = '2099-12-31'; 
GO 

--备份证书
BACKUP CERTIFICATE CERT_HIS_SLAVE_1
TO FILE = '\\HIS_SLAVE_1\his_cluster_share_disk\CERT_HIS_SLAVE_1.cer'; 
GO 

参考:

CREATE ENDPOINT (Transact-SQL)

--创建镜像端点
CREATE ENDPOINT HIS_AG_Endpoint 
AUTHORIZATION [sa] 
STATE=STARTED 
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) 
FOR DATA_MIRRORING 
(ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT_HIS_SLAVE_1, ENCRYPTION = REQUIRED ALGORITHM AES)
GO 


--节点二上执行:创建主密钥/证书/端点,备份证书。

--创建主密钥
USE master; 
GO 
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'wxl.1989'; ----密码
GO
 
--创建证书
CREATE CERTIFICATE CERT_HIS_SLAVE_2
WITH SUBJECT = 'CERT_HIS_SLAVE_2', 
START_DATE = '2021-04-04',EXPIRY_DATE = '2099-12-31'; 
GO 
 
--备份证书
BACKUP CERTIFICATE CERT_HIS_SLAVE_2
TO FILE = '\\HIS_SLAVE_1\his_cluster_share_disk\CERT_HIS_SLAVE_2.cer'; 

参考:

--创建镜像端点

CREATE ENDPOINT HIS_AG_Endpoint 
AUTHORIZATION sa
STATE=STARTED 
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) 
FOR DATA_MIRRORING 
(ROLE = ALL,AUTHENTICATION = CERTIFICATE CERT_HIS_SLAVE_2, ENCRYPTION = REQUIRED ALGORITHM AES)
GO 

--节点一上执行:创建节点二的证书

USE master; 
GO 
CREATE CERTIFICATE CERT_HIS_SLAVE_2
--authorization sa
FROM FILE = '\\HIS_SLAVE_1\his_cluster_share_disk\CERT_HIS_SLAVE_2.cer'; 
GO

--节点二上执行:创建节点一的证书

USE master; 
GO 
CREATE CERTIFICATE CERT_HIS_SLAVE_1
--authorization sa
FROM FILE = '\\HIS_SLAVE_1\his_cluster_share_disk\CERT_HIS_SLAVE_1.cer'; 
GO 

继续创建always on

注意此处副本不能提前还原数据库操作,需要同步,否则出现上图。

添加侦听器

增加侦听器后可以通过侦听器名 aglistener 或者设置的 IP[192.168.1.6]访问 AlwaysOn 高可用组, 系统自动实现负载均衡和故障转移。

注意 测试过程中

删除节点才能删除证书

select * from sys.endpoints
drop ENDPOINT 节点名称
drop certificate 证书名称


测试不容易 看到后的大佬们给点个赞吧~

分享好友

分享这个小栈给你的朋友们,一起进步吧。

SQLServer
创建时间:2023-03-20 14:06:14
美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~