1. 引言

基于windows2012 server和sql server2012的域控的设置方法在很多场景已经使用,不仅需要windows的域部署,故障转移部署,以及sql server的域部署以及仲裁机等操作,使用起来非常麻烦,现在sql server2016来了,听说sql server2017可以在linux上部署AG,又是一个降低运营成本的好消息,这边先以sql server2016为例,详细讲述下如何部署实施。

  1. 操作步骤

2.1 Windows 2016 无域故障转移群集部署方法

故障转移群集是一个很实用的功能,而windows在2016版本开始,终于支持不用域做故障转?????.?在群集中,我们可以设定一个"群集IP"而客户端只需要根据这个"群集IP"就能连接当前群集的主服务器.而不必关心群集服务器之间的替换.而更棒的是,它是"去中心"的,它没有一个中心主机,我们都知道"有中心"的集群,如果"中心"出了问题,那么整个集群都无法运行了.而故?????????,????????????,????????????(??????????????,????????????,??????).?

演示环境

这边使用vwware16搭建windows2016 Datacenter环境,使用仅主机模式,并且在vwware的编辑的虚拟网络编辑器里设置了网段和掩码,如下图:

演示环境

1. 通用配置

Key

Value

系统版本

Win2016

集群IP

192.168.3.2

网段

255.255.255.0

网关

192.168.3.1

2. 设备配置

设备编号

IP地址

域名

1

192.168.3.8

d1.net

2

192.168.3.11

d2.net

IP以及名称规划:

节点1(物理服务器或虚拟机):d1   IP地址:192.168.3.8

节点2(物理服务器或虚拟机):d2 IP地址:192.168.3.11

Windows群集名称:CLUSTER.net IP地址:192.168.3.15(虚拟IP)

可用性组名称:SQLAG

SQL侦听器名称:listen IP地址:192.168.3.18(虚拟IP)

注意事项:

1,只有Windows Server 2016 操作系统才能配置不依赖域的群集 ,2台服务器的操作系统???????????SQL Server?????????????????

2,两个节点的Windos Server 2016 都以Administrator账户登录,并且两台服务器的Administrator密码相同,无特殊意义,只是为了方便后续的操作。

3,两个节点的SQL Server 2016 服务启动账户都设置成Administrator 。2个节点的数据库都有Administrator的登录名,也就是使用Administrator登录服务器时,可用Windows身份???????SQL Server???

即:

节点1的SQL Server上有:d1\administrator  ;节点2上有:d2\administrator ;这2个登录账号,在安装SQL Server的时候可创建。均有sysadmin权限。

一:首先配置Windows故障转移群集(2个节点均使用Administrator登录)

第一步:安装Windows故障转移群集(所有节点都需要安装)

第二步:每个节点的计算机不需要加入域,但需要添加DNS后缀,且每个节点的后缀必须要????????????net),如下图所示的操作。

第三步:在每个节点上都添加一个用户(我增加的用户名称是DCAdmin),且用户名以及密???????????????????????????????????????2???????????????????????????

第四步:在每个节点的 hosts 文件中添加每个节点的服务器IP地址和名称、群集IP地址和???????????IP???????????????????????

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

hosts文件可以用记事本打开

服务器名称,填写的是计算机全名,也就是服务器名带上之前设置的DNS名称后缀的名称,??????d1.net。host文件需要在2个节点的服务器上都进行相同的操作。

我这边使用的dns解析来解决,首先需要安装dns

  1. 所有主机配置DNS解析记录 并测试解析

    1. 新建正向查找区域NET

  1. 新建反向查找区域

结果就像这样的:

  1. 新建反向查找记录  (我们新建正向记录勾选了PTR指针 默认已经新建了B/C主机的反向记录) 现在只需新建一条本机的PTR记录

  1. 测试解析

无域的服务器都要配置dns服务器,可以使用host但是我觉得网络配置使用静态表实在太low,毕竟不是开发做做switchhost的换同根同域环境。

A主机配置故障转移群集 B/C主机连接到群集 指定虚拟IP192.168.3.15

  1. 主机A创建集群CLUSTER

这边填之前的说好的192.168.3.15

这样各个节点已经连接了。

第五步:设置允许应用或功能通过防火墙,两个节点均要设置,按照下面图中红框框出的地方设置,注意选项后面打勾的位置。

二:配置SQL Server AlwaysOn

SQL Server的安装这里就不描述,直接从配置AlwaysOn开始操作。

1 ,这里配置AlwaysOn,我采用的是共享文件夹的方式,所以首先在DB1这个节点上创建一个?????????????????????????????????????????DCAdmin??????DB2???????????????????

  1. 在DB1和DB2上设置启用AlwaysOn

启用AlwaysOn会要求重启服务,重启就可以。

3,重启服务后,查看服务器属性,确保 HADR 为 True

既然节点没有加入域,那么就不能用域认证,只能用证书认证,因此需要在每个节点的数据库中创建其他节点的数据库证书。(请留意我连接数据库的账户,在创建端口的代码中有用到)

因此在配置可用性组前先在各节点配置证书认证信任。

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

注:我是在节点1上用administrator登录服务器,使用Windows身份登录SQL Server。在节?2????????administrator????????????????Windows????????SQL Server?

--共享文件夹路径: ---\\JF-SQLDB01\SQLAlwaysOn   使用共享文件夹是为了方便读取每个节点的证书

--节点一上执行:创建主密钥/证书/端点,备份证书到共享文件夹中。

USE master;

GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'JFAlwaysOnShare2016' ----密码

GO

CREATE CERTIFICATE Cert_DB01

WITH SUBJECT = 'Cert_DB01',

START_DATE = '2021-04-01',EXPIRY_DATE = '2029-12-31' --证书的有效时间

GO

----导出证书,将证书放在共享文件夹里面

BACKUP CERTIFICATE Cert_DB01

TO FILE = '\\D1\SQLAlwaysOn\Cert_DB01.cer'

GO

---创建端点

CREATE ENDPOINT [SQLAG_Endpoint]

AUTHORIZATION [WIN-DR6UKA2RJDA\Administrator] ----此账户是连接数据库的账户

STATE=STARTED

AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)---侦听端口,1024 和 32767 之间的任何数字都有效。侦听IP地址,默认值为 ALL,表示??????????????????? IP ?????????????

FOR DATA_MIRRORING

(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_DB01, ENCRYPTION = REQUIRED ALGORITHM AES)

GO

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

USE master;

GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'JFAlwaysOnShare2016';

GO

CREATE CERTIFICATE Cert_DB02

WITH SUBJECT = 'Cert_DB02',

START_DATE = '2021-04-01',EXPIRY_DATE = '2029-12-31';

GO

BACKUP CERTIFICATE Cert_DB02

TO FILE = '\\D2\SQlAlwayon\Cert_DB02.cer';

GO

CREATE ENDPOINT [SQLAG_Endpoint]

AUTHORIZATION [WIN-93HCUQ47RJN\administrator]

STATE=STARTED

AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)

FOR DATA_MIRRORING

(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_DB02, ENCRYPTION = REQUIRED ALGORITHM AES)

GO

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

USE master;

GO

CREATE CERTIFICATE Cert_DB02

FROM FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB02.cer';

GO

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

USE master;

GO

CREATE CERTIFICATE Cert_DB01

FROM FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB01.cer';

GO

上面两部做不了就手动安装,原因是sql server没有读证书权限增加进去

  1. 配置可用性组,接下来就和以前版本的配置是一样的了,不再描述,按照下面的截图一步一步配置

这个最好把db2设置为sa模式,然后用db1的机器尝试连接下,保证可用性配置的1433是联通的

这里是选择数据库,记住一定要全量备份下,但是db2不用新增同样数据库

这边服务器名用d2,并且自动故障转移选择勾上并且同步为是

这边一点要有个共享文件夹,上次放证书的那个,不通的话后面验证不通过

  1. 最后创建侦听器,当然,创建侦听器也可以在上一步设置。

最后,可以使用侦听器名称来连接数据库,数据库显示已同步,配置无域AlwaysOn成功、

参考自:

配置SQL Server2016无域AlwaysOn

https://blog.csdn.net/roven257/article/details/78691892?ops_request_misc=&request_id=&biz_id=102&utm_term=sql%20server%20alwayson&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-78691892.first_rank_v2_pc_rank_v29

SQL Server 2017 Always On AG on Linux(二)SQL Server 证书及权限配置

https://blog.csdn.net/kk185800961/article/details/89483724

Linux 上配置 AG

https://www.cnblogs.com/guarderming/p/10570484.html

AlwaysOn添加新可用性副本

https://www.it610.com/article/1281403096454414336.htm

WINDOWS2016故障转移群集

https://blog.csdn.net/weixin_42256332/article/details/89151749

SQL SERVER非域环境搭建镜像

https://www.cnblogs.com/cmt/p/14580194.html?from=https%3A%2F%2Fwww.cnblogs.com%2FFly446854715%2Fp%2F4173345.html&blogId=198684&postId=4173345

VMware虚拟机的三种网络连接方式以及主机向虚拟机发送文件的实现

https://blog.csdn.net/weixin_39490421/article/details/79518927

Windows 2016 无域故障转移群集部署方法 超详细图文教程

https://blog.csdn.net/demonson/article/details/81708809

SQLServer2008端口及防火墙设置

https://www.cnblogs.com/pipci/p/7850892.html

(WSFC) resource control API returned error code 5057 & Microsoft SQL Server, Error: 41009

https://blog.csdn.net/burgess_liu/article/details/16855267

连接到 Always On 可用性组侦听器

https://docs.microsoft.com/zh-cn/sql/database-engine/availability-groups/windows/listeners-client-connectivity-application-failover?view=sql-server-ver15

SQL Server域Alwayson 部署相关推荐

  1. SQL Server 2016 AlwaysOn 安装及配置介绍

    SQL Server 2016  AlwaysOn 安装及配置介绍 Always On 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案. SQL Server 2012 ...

  2. SQL SERVER 2012 AlwaysOn - 维护篇 03

    搭建 AlwaysOn 是件非常繁琐的工作,需要从两方面考虑,操作系统层面和数据库层面,AlwaysOn 非常依赖于操作系统,域控,群集,节点等概念: DBA 不但要熟悉数据库也要熟悉操作系统的一些概 ...

  3. 在windows 2008 server core 上搭建sql server 2012 alwayson group

    前言 自 SQL 2005以来,MSFT在SQL server的每个版本都增加了不少令人兴奋的闪亮点,SQL Server 2012也不例外,其中SQL 2012  Alwayson group就是其 ...

  4. SQL Server数据库镜像部署 错误1418’处理及证书验证

    SQL Server数据库镜像部署 '数据库镜像'是SQLServer数据库功能最强的一种热备份方法,也是环境要求最高的一种.其配置环节比较麻烦,本人新手研究了三天,中途遇到了许多问题,希望其他第一次 ...

  5. sqlserver故障转移集群和alwayson的区别_详解SQL Server 2016 + AlwaysOn 无域集群

    搭建 WSFC 配置计算机的 DNS 后缀 1.配置计算机的 DNS 后缀,注意在同个工作组 2.每个节点的机器都要做域名解析,修改 host 文件C:WindowsSystem32driverset ...

  6. 从0开始搭建SQL Server 2012 AlwaysOn 第一篇(AD域与DNS)

    随着业务发展,公司需要提高数据安全与性能需求,所以需要对新技术预研(先采坑),做技术积累: 了解相关AlwaysOn 故障转移集群(热备),数据路由(ICX),Moebius(莫比斯数据路由) 决定测 ...

  7. 咋搭建域控服务器,服务器搭建域控与SQL Server的AlwaysOn环境过程(一) 搭建域控服务器...

    0 准备阶段 1. Windows Server 服务器 3台(其中域控服务器配置可降低一个水准,目前博主试用的是:域控服务器--2核4G 数据库服务器(节点)--4核8G ) 2. SQL Serv ...

  8. aws waf sql注入_适用于快速SQL Server Always On部署的AWS启动向导

    aws waf sql注入 SQL Server Always On is a high-availability and disaster recovery solution. We can use ...

  9. SQL SERVER 2016 AlwaysOn搭建实例

    安装要求 https://docs.microsoft.com/zh-cn/sql/database-engine/availability-groups/windows/prereqs-restri ...

最新文章

  1. 三个优秀的语义分割框架 PyTorch实现
  2. RDKit | 化合物亚结构搜索与结果输出
  3. 在M1芯片上跑原生Linux:编译速度比macOS还快40%,真香警告
  4. error: the following arguments are required: cfg_file
  5. phpmailer 私密抄送_使用 phpmailer 发送邮件,支持抄送、密送和发送附件
  6. python概率随机抽奖_Python利用带权重随机数解决抽奖和游戏爆装备
  7. 命令行下findstr的BUG(Windows)
  8. ES6_有关数组的函数_note
  9. 游族内部信:年终奖如期发放 继续招聘全球化游戏人才
  10. 10份数据中台资料分享(附下载)
  11. Ubuntu on Windows,在Windows上的Ubuntu
  12. 华为关于gvrp 的配置,一般步骤以及应用。
  13. java透明度_纯度与参考透明度
  14. niceScroll
  15. 什么是前端工程师?前端工程师需要掌握什么技能?
  16. IRP IO_STACK_LOCATION 《寒江独钓》内核学习笔记(1)
  17. ubuntu16.04 安装Anbox
  18. 112家IT公司薪水一览表
  19. iOS开源库–最全的整理
  20. 面试官角度观察到的程序员技能瓶颈,同时给出突破瓶颈的建议 ...

热门文章

  1. 鱼眼镜头/全景相机原理/全景相机标定
  2. 【系统分析师之路】第三章 复盘企业信息化战略(DSS,ERP,CRM,PDM)
  3. SAP部分清账与剩余清账
  4. 揭秘Facebook官方底层C++底层函数Folly
  5. 如何理解「数据驱动业务」?
  6. 解决java.lang.IllegalArgumentException
  7. Vue中watch、computed、updated的区别
  8. 经典:DotNetBar Suite UI 7.9 for WPF Crack
  9. 阿里云服务器后台运行服务
  10. 1146: 5004 周易