SQL Server2016无域群集与高可用性AlwaysON配置新手教程

 

Doc教程文档下载地址:

https://download.csdn.net/download/chenhui389/12701070

一、准备工作:

1.安装服务器操作系统,这里以为windwows server 2016 标准版为系统环境。

准备至少两台及以上的windows server服务器,本教程以双机热备功能为例。

系统环境为:

①两台服务器均安装 windwows server 2016 标准版操作系统。

②两台计算机均在同一网络环境下。

③激活系统。

④先完全关闭两台server的防火墙,配置设置完成后再添加防火墙端口访问规则。

2.配置计算机名及DNS后缀。

(不要使用默认的随机计算机名,会给后续配置群集时输入带来不便)

计算机名称及IP地址配置如下:

计算机名:DB01  IP地址: 192.168.31.49

计算机名:DB02  IP地址: 192.168.31.48

非域环境下DNS后缀必须要配置。

具体步骤如下图:

右键我的电脑->属性->更改设置-

 

设置完以后需要点击"确定"按钮,才可以保存,保存完之后,提示重启计算机。

因为是新装的服务器,没有相关业务应用,直接重启即可。

需要在安装SQL server前进行计算名称的配置修改,否则后续会多一些配置步骤

3.修改hosts文件及确认网络通信正常。

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

符号#为单行注释,前面填写IP地址,空格,后面填写域名或计算机名。

使用文本编辑器编辑hosts,加入配置节如下图:

修改完后,对网络连接进行检查(双向的检查,两台需要测试互通)。

使用ping 命令,ping 计算机名/域名,进行测试(不是ping IP)。

使用ipconfig /all 检查主计算机名称DNS后缀以及IP地址 子网掩码 网关 等相关配置

4.修改系统设定项。

1.确认当前登陆计算机的用户是管理员用户,两台server具有相同的用户名和密码。

2.检查服务,启动如下服务:

网络共享服务 server

远程注册表服务 Remote Registry

WMI服务 Windows Management Instrumentation

3.组策略gpedit.msc (域用户下面的配置就不需要管这些策略)

后续步骤如有异常,需要注意回来检查如下配置节的设置是否正确:

windows设置->安全设置->本地策略->用户权限分配

windows设置->安全设置->本地策略->安全选项

网络访问: 本地帐户的共享和安全模型-> 必须配置为"经典"

 

二、安装server群集和故障转移:

添加角色和功能

 

如果没有安装.net framework3.5,则勾选安装。

中间没有特殊选项的步骤可以直接点下一步,关键选项如下:

勾选故障转移群集->点击添加功能

一直下一步,等待片刻,直到安装过程完成。

安装完成后,打开群集管理工具.如下图:

验证配置:

输入DB01的计算机名或者域名,然后点击添加按钮.

再输入DB02的计算机名或者域名,同样点击添加按钮.

将两台server都添加进列表之后,才点击下一步。

不要尝试点击"浏览"按钮进行添加,可能根本就不弹出任何列表)

运行所有测试。

测试结果中,测试不适用和已通过测试,都是正常情况。

如果出现红色的测试不成功错误信息,需要额外注意看一下。

除了AD域的错误提示之外的其它错误需要根据信息进行灵活的排错。

比如访问权限受限,或者远程注册表服务没有开启等。

测试成功后,就可以马上利用本次的测试来创建群集了。

如下图所示:(勾选"立即使用经过验证的节点创建群集")

输入群集的名称和群集IP地址。然后下一步。

群集创建完成后的界面如下:

群集创建完成后,注意节点的数量和状态。

创建群集只需要在一台server上面操作创建就可以了。

如果群集状态不正常,在另外一台服务器(非主服务器),可以直接连接到群集,测试和验证一下群集配置。

到目前为止,群集创建基本完成,但是还缺少仲裁配置。

仲裁可以使用仲裁磁盘,也可以使用共享文件夹。

仲裁磁盘需要添加群集磁盘和配置iSCSI发起程序与磁盘联机,比较复杂。

这里使用共享文件夹进行仲裁。

输入计算机名,点击显示共享文件夹,确定->下一步

到此为止,群集配置完毕。

 

群集已经有了节点,群集的角色功能列表中目前是空着的

角色功能需要在SQL server中操作AlwaysON,由SQL server来配置角色。

三、SQL server 安装配置

1.安装SQL server 2016 企业版。

①虚拟光驱加载ISO镜像文件。

② 全新或独立安装。

下一步

根据自己需要的功能勾选,通常只需要勾选少量几个功能:

数据库引擎,SQL server复制,客户端工具链接,管理工具-基本/完整

如果是新系统,没有安装过SQL server任何版本和实例。可以选择默认实例,默认实例的配置相对简单。

指定SQL server管理员,点击"添加当前用户"

选择混合模式,配置sa默认密码

安装完成。

2.配置SQL server 远程访问,开启AlwaysON.

找到自己安装的实例对应的TCP/IP服务,确定是已启用。

切换到IP地址,找到本机对应的IP地址,设置为启用,TCP端口设置sql server默认的1433端口即可。(最下面的IPAll不要设置)

②找到自己安装的实例对应的SQL数据库引擎主服务,启用AlwaysON。

(只有在server群集下才可以启用。)

 

启动AlwaysON和修改IP以后,务必重启当前实例的服务,否则无法生效。

 

 

四、Always ON配置

1.前置步骤:

①在主服务器DB01上面恢复和还原数据库。

右键数据库->属性->选项->修改数据库属性,自动关闭改为False.

2.检查两台SQL服务器的配置。

确认已经启用HADR。

查看计算机名称和实例名称是否正确。

select @@SERVERNAME

--删除server名称

exec sp_dropserver @@ServerName

-- 添加本地server名称

exec sp_addserver 'CHENS\MSSQL','LOCAL'

-- 查询可用server列表

exec sp_helpserver

 

查看群集节点成员

select * from sys.dm_hadr_cluster_members

select * from sys.dm_hadr_cluster_networks

 

3.配置证书

(非域环境下的SQL alwaysON必须配置证书,域环境下则不需要此步骤)

DB01和DB02分别配置和生成一个证书。核心代码如下(两台都需要执行,只需要修改下面的DB01和DB02部分):

1.生成证书

USE master;   

GO

--创建证书。

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DBserver2016';--指定密钥

GO

CREATE CERTIFICATE Cert_DB02--证书名称

WITH SUBJECT = 'Cert_DB02',--主题

START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30'; --有效时间  

GO

BACKUP CERTIFICATE Cert_DB02--备份证书到文件

TO FILE = 'D:\DB02.cer';

GO

CREATE ENDPOINT [DB02_endpoint]--使用指定的证书创建镜像端点

    STATE=STARTED

    AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)

    FOR DATA_MIRRORING

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

GO

 

如果不慎配置过程中失败了,可以重新来过。如果已经成功配置完成了,下面的3个删除代码请谨慎使用。

drop endpoint [DB02_endpoint] --删除镜像端点

drop certificate Cert_DB02--删除证书

drop master key --删除主密钥

 

2.导入对方的生成证书。

把证书拷贝到仲裁共享目录,或者是使用其它方式拷贝发送。

使得两台计算机分别导入对方生成的证书。

在DB01上导入DB02生成的证书,在DB02上面导入DB01生成的证书。

--例如:在DB02上执行:使用导入方式创建节点一的证书

USE master;

 GO

 CREATE CERTIFICATE Cert_DB01

 FROM FILE = 'C:\certCommon\DB01.cer';

 GO

 

下面附个代码块,如果上面的代码不理解,不清楚怎么生产后互相交换导入的过程,可用参照下面这个代码操作.否则直接跳过.


--因为无域账号认证,故需创建证书,以便节点之间互相信任访问。
USE master; 
GO 
 CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1qaz@WSX'; ----密码
GO
 CREATE CERTIFICATE Cert_DB01 
 WITH SUBJECT = 'Cert_DB01', 
 START_DATE = '2017-12-01',EXPIRY_DATE = '2099-12-31'; 
 GO 
 BACKUP CERTIFICATE Cert_DB01 
 TO FILE = '\\WindowsServer01\SQLAlwaysOnShare\Cert_DB01.cer'; 
 GO 
 CREATE ENDPOINT [SQLAG_Endpoint] 
 AUTHORIZATION [WindowsServer01\administrator] 
 STATE=STARTED 
 AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) 
 FOR DATA_MIRRORING 
 (ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_DB01, ENCRYPTION = REQUIRED ALGORITHM AES)
 GO 
--节点二上执行:创建主密钥/证书,备份证书。 
USE master; 
 GO 
 CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1qaz@WSX'; 
 GO 
 CREATE CERTIFICATE Cert_DB02 
 WITH SUBJECT = 'Cert_DB02', 
 START_DATE = '2017-12-01',EXPIRY_DATE = '2099-12-31'; 
 GO 
 BACKUP CERTIFICATE Cert_DB02 
 TO FILE = '\\WindowsServer01\SQLAlwaysOnShare\Cert_DB02.cer'; 
 GO 
 CREATE ENDPOINT [SQLAG_Endpoint] 
 AUTHORIZATION [WindowsServer01\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 = '\\WindowsServer01\SQLAlwaysOnShare\Cert_DB02.cer'; 
 GO 
--节点二上执行:创建节点一的证书 
USE master; 
 GO 
 CREATE CERTIFICATE Cert_DB01 
 FROM FILE = '\\WindowsServer01\SQLAlwaysOnShare\Cert_DB01.cer'; 
 GO

4.配置可用性组

证书处理完毕以后,就可以开始真正进行高可用性配置了

(输入可用性组的名字,这里输入的可用性组的名字,其实就是对应着群集角色下面的角色名字

选择和勾选高可用性数据库,下一步。

添加副本。

检查端点信息:

(这里的端点信息,其实就是上面SQL语句生成的端点,例如DB02_endpoint

点击下一步,到数据库同步选项,请优先选择<自动种子设定>。(SQL企业版才有的功能,截图的时候由于我的已经创建完成了,不能再次创建,网上找了一个其它版本的截图过来)

可用性验证成功。

一直点击下一步,直到完成。

输入侦听器的IP地址,例如192.168.31.51,端口1533.

侦听器创建完成之后即可使用侦听器的IP地址和端口进行数据库访问。

 

至此,所有步骤已经写完。剩下的就是恢复启用防火墙,

设置防火墙端口出入站规则。

放行默认SQL的1433端口,侦听器的1533端口,和镜像端点传输专用的5022端口等。

防火墙自行配制出入站端口规则,谢谢。

                                                                                                                  

 

 

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 《深入SQL Server 2016高可用性》是一本关于SQL Server 2016高可用性技术的指南。该书从理论和实践两个方面详细介绍了SQL Server 2016中的高可用性功能和实现原理。 首先,该书从高可用性的概念和重要性入手,介绍了SQL Server 2016中的高可用性组件,如故障转移群集AlwaysOn可用性组以及数据库镜像等。通过详细的原理解析和实际案例分析,读者可以全面了解SQL Server 2016高可用性技术的基本概念和工作原理。 其次,该书还详细讲解了如何在SQL Server 2016配置和管理高可用性组件。读者可以学习到如何创建故障转移群集配置AlwaysOn可用性组,以及实现数据库镜像等高可用性方案。此外,该书还介绍了如何进行故障监控和故障恢复,以提高系统的可用性和可靠性。 此外,该书还介绍了SQL Server 2016中的其他高可用性相关功能,如日志传送、延迟复制和自动故障检测等。读者可以了解到这些功能的作用和使用方法,从而更好地实现SQL Server 2016高可用性架构。 总之,《深入SQL Server 2016高可用性》是一本全面深入的SQL Server 2016高可用性技术指南。通过阅读本书,读者可以系统地学习和掌握SQL Server 2016中的高可用性技术,提高系统的可用性和容错性,确保数据库系统的稳定运行。同时,该书还提供了大量的实际案例和操作步骤,有助于读者快速上手和实践。 ### 回答2: SQL Server 2016是由微软公司开发的一款关系数据库管理系统。高可用性是指系统在运行过程中,能够持续地提供服务,即使部分组件或服务器发生故障也能够保持系统的可用性和稳定性。 深入了解SQL Server 2016高可用性的PDF,将会涵盖以下内容: 1. 可用性组:可用性组是SQL Server 2016中实现高可用性的关键概念。它由多个数据库组成,可在不同的服务器上运行,形成一个逻辑组。通过在可用性组之间进行自动故障转移,当主数据库发生故障时,可以无缝地切换到备用数据库。这种自动故障转移确保了系统的连续性和可用性。 2. 故障转移集群:SQL Server 2016引入了故障转移集群的概念,可以提供更高的可用性。故障转移集群是一组服务器节点,它们共享存储,当一个节点发生故障时,其他节点可以接管并继续提供服务。它还具备自动故障转移的功能,可以在没有用户干预的情况下,实现数据库的无缝切换。 3. AlwaysOn可用性组:AlwaysOn可用性组是SQL Server 2016中实现高可用性的一种方法。它允许将多个数据库组成一个可用性组,通过自动故障转移实现对数据库的保护。同时,AlwaysOn可用性组还支持读取负载均衡,可以将读取操作分散到不同的节点上,提高系统的性能和吞吐量。 4. 云集成:SQL Server 2016高可用性还提供了对云计算的集成支持。通过使用云服务,可以将数据库备份和故障转移等操作移到云端,实现高可用性的同时,减少了本地服务器的维护和管理成本。 总之,深入了解SQL Server 2016高可用性的PDF将会帮助用户掌握SQL Server 2016高可用性架构和功能,以及如何配置和管理可用性组和故障转移集群,从而确保系统的连续性和可用性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值