12
2023
05
14:18:27

SQL Server 2019 无域搭建Always On环境

简介

看了下现在网上的很多文章,搭建Always On的环境都需要配置域服务器,配置步骤很多也很复杂,对说实话我对WinServer操作系统不是很熟,很多组件配置东西都是网上找资料,图形化界面用着很不顺手(有点怀念Linux 的命令行 ),现在手头上正好有个新项目,客户只提供了两台服务器,正好SQL Server 2019也支持无域模式的Always On,故此记录一下。

环境介绍

软件版本
操作系统WinServer 2019
SQL SERVERSQL 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上创建数据库高可用性模式 ,看能否同步到主从数据库上



    推荐本站淘宝优惠价购买喜欢的宝贝:

    image.png

    本文链接:https://hqyman.cn/post/4127.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

    分享到:
    打赏





    休息一下~~


    « 上一篇 下一篇 »

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    请先 登录 再评论,若不是会员请先 注册

    您的IP地址是: