阿里云ECS服务器2016WindowsServer中心版无域环境搭建SQLServer Alwayson


前言

本案例基于阿里云ECS服务器实现的2016版本无域环境搭建SQLServer Always On,若无阿里云服务器,也可以在本机安装VMware Workstation Pro虚拟机,安装WindowsServer2016中心版


一、百度网盘下载地址

1.Windows Server 2016(内附各版本激活密钥)
链接:https://pan.baidu.com/s/1m-dB2CHZGFoIqoKHROoMog
提取码:00bb

2.SQL Server 2016企业版
链接:https://pan.baidu.com/s/1cfmwPWzCWmeagt33a0ETNQ
提取码:zqt6

3.VMware Workstation Pro 12
链接:https://pan.baidu.com/s/1JIdkTImu56qvluKcSWw4QQ
提取码:x9ca

二、前提条件

1.1 硬件
(1)2台ECS服务器,非阿里云ECS服务器用镜像文件安装Windows Server服务器也可以。
(2)2016版本必须准备2台服务器!这是重点!!!!

测试环境建议2核,硬盘60G,内存2G即可,生产环境建议内存8G及以上,4核CPU。

1.2 软件
(1).NET Framework 4.0 及以上
(2)Windows Server 2016 64位数据中心版
(3)SQL Server 2016 64位企业版

二、环境准备

(1)2台物理服务器,也可以是2台虚拟机。操作系统:Windows Server 2016 Datacenter (中心版)

(2)2台服务器上均安装SQL Server 2016

三、部署准备

ECS服务器准备

1.要用专有网络,经典网络会把公网IP注册到WSFC的VIP
在这里插入图片描述
2.安全组开放端口
在这里插入图片描述

IP规划及名称规划

注意:
两个节点的Windos Server 2016 都以Administrator账户登录,
并且两台服务器的Administrator密码必须相同,也可以单独在两个节点创建一个相同账号名和密码的账户,并且加入administrator组

计算机名管理员账号管理员密码IP地址
ServerDB1 (节点1)Administratorlenpos@123172.17.32.1
ServerDB2 (节点2)Administratorlenpos@123172.17.32.2
Windows群集名称IP地址(虚拟ip)
cluster_youhao172.17.32.10
SQL侦听器名称IP地址(虚拟ip)
listener172.17.32.20

四、开始部署

添加角色和功能

两个节点均需要安装一下功能和角色:
(1)安装DNS服务器,
(2)Windows故障转移群集,
(3)NET Framework 4.6功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

计算机基本属性修改

(1)修改计算机名称
(2)添加DNS后缀在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IP地址属性配置

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

Host文件修改

hosts文件路径:C:\Windows\System32\drivers\etc

在这里插入图片描述
注意:两个节点服务器都需要配置Host文件在这里插入图片描述

网络通信检查

关闭两个节点的防火墙,互相Ping对方的ip地址,服务器名称,服务器名称+dns后缀

节点1 cmd执行
PING 172.17.32.2
PING ServerDB2
PING ServerDB2.youhao.com
节点2 cmd执行
PING 172.17.32.1
PING ServerDB1
PING ServerDB1.youhao.com

互相能PING通代表配置成功!
在这里插入图片描述

故障转移群集创建

主节点1创建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试过程出现一些警告信息可忽略在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连接查看故障转移群集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、 SQL Server配置

SQLServer配置管理器设置

(1)两节点启用AlwaysOn功能
(2)两节点修改默认登录用户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SQLServer证书认证

因为是无域环境,所以改用证书认证,操作步骤如下
1.打开Microsoft SQL Server Management Studio
2.新建查询
3.执行代码
在这里插入图片描述

 ------------------------节点1执行 ------------------------
USE [master]
GO

--创建证书
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'lenpos@123456'
GO

CREATE CERTIFICATE cer_alwayson_001 --证书名称
WITH SUBJECT='alwayson 001 local certificate', --主题
EXPIRY_DATE='9999-12-31' --有效时间
GO

--指定路径下创建文件夹
EXEC xp_create_subdir 'C:\software\cerficates'

--备份证书到创建的指定文件夹中
BACKUP CERTIFICATE cer_alwayson_001
TO FILE='C:\software\cerficates\cer_alwayson_001.cer'
GO

--使用指定的证书,创建镜像端点
CREATE ENDPOINT [Endpoint_Mirroring]  --镜像名称
 STATE=STARTED 
 AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) 
 FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE cer_alwayson_001,  --证书名称
 ENCRYPTION = REQUIRED ALGORITHM AES)
 GO
 ------------------------节点2执行 ------------------------
USE [master]
GO

--创建证书
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'lenpos@123456'
GO

CREATE CERTIFICATE cer_alwayson_002 --证书名称
WITH SUBJECT='alwayson 002 local certificate', --主题
EXPIRY_DATE='9999-12-31' --有效时间
GO

--指定路径下创建文件夹
EXEC xp_create_subdir 'C:\software\cerficates'

--备份证书到创建的指定文件夹中
BACKUP CERTIFICATE cer_alwayson_002
TO FILE='C:\software\cerficates\cer_alwayson_002.cer'
GO

--使用指定的证书,创建镜像端点
CREATE ENDPOINT [Endpoint_Mirroring]  --镜像名称
 STATE=STARTED 
 AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) 
 FOR DATA_MIRRORING (ROLE = ALL,AUTHENTICATION = CERTIFICATE cer_alwayson_002,  --证书名称
 ENCRYPTION = REQUIRED ALGORITHM AES)
 GO
重点:互相拷贝对方服务器生成的证书到本地证书文件夹中
1.找到节点1证书生成路径手动把节点1文件夹中的证书拷贝到节点2证书文件中
2.找到节点2证书生成路径手动把节点2文件夹中的证书拷贝到节点1证书文件中

最终效果:
在这里插入图片描述

在这里插入图片描述

继续执行以下代码:

-------------节点1执行-------------
 USE master; 
 GO 
 CREATE CERTIFICATE cer_alwayson_002 
 FROM FILE = 'C:\software\cerficates\cer_alwayson_002.cer'; 
 GO
-------------节点2执行-------------
 USE master; 
 GO 
 CREATE CERTIFICATE cer_alwayson_001 
 FROM FILE = 'C:\software\cerficates\cer_alwayson_001.cer'; 
 GO

数据库创建,全量、日志备份数据库

创建AlwaysOn高可用性必须要对数据库做一次全量备份和日志备份,只在节点1执行以下步骤即可,节点2会自动同步

执行以下代码

--主节点1执行:
CREATE DATABASE [test]

USE [test]
CREATE TABLE [test1]([id] INT,[name] VARCHAR(100))
INSERT INTO [test1] SELECT 1,'test'


DECLARE @CurrentTime VARCHAR(50), @FileName VARCHAR(200)
SET @CurrentTime = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120 ),'-','_'),' ','_'),':','')

--(test 数据库完整备份),备份文件路径自行修改
SET @FileName = 'D:\SQLServer2016\DBBackup\test_FullBackup_' + @CurrentTime+'.bak'
BACKUP DATABASE [test]
TO DISK=@FileName WITH FORMAT ,COMPRESSION


  --(test 数据库日志备份) ,备份文件路径自行修改
SET @FileName = 'D:\SQLServer2016\DBBackup\test_logBackup_' + @CurrentTime+'.bak'
BACKUP log [test]
TO DISK=@FileName WITH FORMAT ,COMPRESSION

AlwaysON创建

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

侦听器创建

在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/0f5728fdf75740b0909beffab72ade6c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Y-R6aOZ55qE6JyX54mbMzQxMA==,size_18,color_FFFFFF,t_70,g_se,x_16在这里插入图片描述

使用侦听器登录数据库

在这里插入图片描述
在这里插入图片描述
注意点:阿里云ECS服务器只能够允许主节点使用侦听器名称或者ip地址登录登录,副本节点无法使用侦听器登录,如果想实现主副节点都能使用侦听器登录,需要向阿里云申请开放havip(高可用虚拟IP)功能。
参考链接:https://help.aliyun.com/document_detail/110065.html
接下来演示havip(高可用虚拟IP)配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

回到故障转移群集管理,可以看到角色中多了一个YOUHAO_AG,即为我们创建的AlwaysOn高可用角色
在这里插入图片描述

故障转移群集管理设置

仲裁配置

由于只有两个节点,群集仲裁配置选择默认
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

故障转移故障数设置

在这里插入图片描述
在这里插入图片描述

资源策略次数设置

在这里插入图片描述
在这里插入图片描述

DNS管理设置

创建正向查找区域

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置正向查找区域

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意事项

如果想销毁群集重新创建,请严格按照以下步骤来,可以避免许多的坑!
(1)删除SQLSERVER可用性组角色(侦听器会一起删除)
在这里插入图片描述

(2)然后停止SQLSERVER配置工具的Alwayson,停止服务。
在这里插入图片描述
在这里插入图片描述
(3)新建群集,回SQL Server配置工具在重新启用AlwaysOn可用性组,启动SQL Server服务。

总结

只要严格按照上诉步骤一步步操作,AlwaysOn是一定可以实现的,实现之后大家也可以可以测试故障转移功能,可以故意把主节点服务器关机,会发现辅助节点变成主节点了!为了节省时间,就不具体展示测试步骤了,大家可以随意测试。,,是一定可以操作成功的!

最后提供几篇写得比较好的文章,可以更加全面的了解AlwaysOn,链接如下:

(1).在阿里云ECS上轻松实现无域控的SQL_Server_AlwaysOn可用性组
https://blog.csdn.net/qq_28125719/article/details/84885184?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242.2

(2).sqlserver故障转移集群和alwayson的区别_详解SQL Server 2016 + AlwaysOn 无域集群
https://blog.csdn.net/weixin_39974400/article/details/110311927

(3).SQL Server2016无域群集与高可用性AlwaysON配置新手教程
https://blog.csdn.net/chenhui389/article/details/107904474?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242.1

2012版本基于域环境搭建AlawysOn主要参考链接:
1.https://www.cnblogs.com/lyhabc/p/4678330.html

2012版本视频参考链接:
2.https://www.bilibili.com/video/BV1g54y1b7eJ

以下为链接为辅助参考链接:
3.1 https://blog.csdn.net/leshami/article/details/51180359
3.2 https://blog.csdn.net/leshami/article/details/51218021
3.3 https://blog.csdn.net/leshami/article/details/51224954
3.4 https://blog.csdn.net/leshami/article/details/51226044

–原理解释参考链接
https://blog.csdn.net/iai64824/article/details/54667351

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值