从0开始搭建SQL
分类:数据库

SQL Server的AlwaysOn错误19456和41158

从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

 

第一篇

第二篇

第三篇

第四篇

搭建非域AlwaysOn win2016 SQL2016

SQL Server AG集群启动不起来的临时自救大招

 

 

这一篇是从0开始搭建SQL Server AlwaysOn 的第四篇,这一篇开始搭建异地机房节点

 

注意点1

注意异地节点最好至少有2个AG节点,否则在本地节点进行手动故障转移的时候会出现仲裁警告,提示WSFC集群有脱机危险

在异地节点只有一个的情况下,虽然Windows2012R2有动态仲裁机制,但是,当本地节点非优雅宕机的情况下,整个WSFC集群有可能得不到任何票数

也就是异地节点也得不到票数而导致整个WSFC集群脱机!!

 

注意点2

当进行手动故障转移的时候,更新DNS缓存需要10分钟,所以当进行手动故障转移之后,用侦听器ip连接SQL Server会很慢,这是因为还在更新DNS缓存

 

 


步骤

这一篇依然使用step by step的方式介绍怎麽搭建AlwaysOn异地机房节点

 

新加异地机房节点机器名:

 

1、在异地节点上安装故障转移集群

 

 

2、在本地机房节点机器上打开故障转移集群管理器,添加一个节点

图片 1

 

3、验证配置

 图片 2

 

4、解决新加节点OU不同问题,只需修改组织单位ou,不需要修改站点site,因为如果本地机房和异地机房的域设置了site,在验证配置的时候会警告,当然可以忽略也可以修正

因为只是警告已而,忽略也无所谓

 

 

5、添加节点成功

图片 3

 

6、在新节点上安装好SQL Server并优化SQL Server,这里忽略安装和优化步骤

 

7、把异地机房新节点添加到alwayson可用性组里,打开alwayson的可用性属性界面,可用性组名称为:AGWMSJXC

 图片 4

可以看到添加了异地机房节点之后,这个异地机房节点还没有联接到可用性组,也就是当前可用性组还没识别到这个异地机房节点

图片 5

 

8、对侦听器添加另一个子网的VIP,这一步,如果可用性组没有启用可用性组侦听器那么这一步可以忽略

如果可用性组启用了侦听器,那么需要分两种情况

1、异地节点的网段跟本地机房是一样的,比如都是192.168.1.x ,那么这一步也不需要做

2、异地节点的网段跟本地机房是不一样的,也就是跨子网,比如本地机房是192.168.1.x,异地机房是192.168.10.x,那么这一步需要做

图片 6

图片 7

现在侦听器IP有两个,一个是本地机房网段的IP,一个是异地机房网段的IP

图片 8

 

添加了新的侦听器vip之后,故障转移集群管理器里会自动将这个侦听器vip资源脱机

 

 

 

9、新建一个测试可用性组,主要用来打通/开启本地节点和异地节点的5022端口

 图片 9

建好之后,在原AG刷新一下会看到异地节点JXCA-WMS08已经自动联接到可用性组AGWMSJXC

 

 

10、对数据库进行备份还原到异地节点JXCA-WMS08,在异地节点JXCA-WMS08上进行操作,将数据库逐个点击联接到可用性组

图片 10

 

11、异地节点添加完成

图片 11

 

 

12、手动故障转移主副本到异地节点

注意当只有一个异地节点的时候,正在验证WSFC仲裁投票配置那一栏会出现警告!

图片 12

故障转移之后会发现异地节点的侦听器ip联机,本地节点的侦听器ip脱机

图片 13

 

13、在异地节点上使用异地节点侦听器ip连接SQL Server,并写入测试数据

图片 14

 

14、把主副本手动故障转移回来本地节点

图片 15

 

15、用本地节点侦听器ip连接SQL Server,发现刚才对异地节点侦听器ip的数据写入都已经同步过来本地机房节点

 图片 16

 

16、添加WSFC集群IP地址资源的异地机房IP,在WSFC管理器里选中群集核心资源下面的服务器名称,右键-》属性

图片 17

添加一个异地机房的WSFC的vip:192.168.7.130

图片 18

图片 19

图片 20

添加成功之后vip会显示脱机这是因为当前WSFC主节点不在异地机房的节点上,而是本地机房的节点上

图片 21

 

 

17、把WSFC主节点转移到异地机房的某个节点,然后把本地所有节点都关机

图片 22

图片 23

 

这时候把本地机房的所有节点关机

 

图片 24

现在用异地机房节点的WSFC的vip连接WSFC集群

图片 25

图片 26

可以发现WSFC的主节点已经转移到WIN-BDKSOOLDV18这个异地节点上了,而且群集资源还是联机状态

图片 27

 

18、没有加入域的应用服务器(IIS服务器)如果需要用侦听器名称来连接alwayson集群是不行的,解决方法是修改

应用服务器的hosts文件,写上侦听器名和侦听器ip,这样客户端才能用侦听器名称连接alwayson集群,客户端的webconfig文件

里写侦听器名称,这样即使failover到异地节点也不需要修改应用服务器的webconfig文件,当然应用服务器加入了域就不用了,、

加入了域的应用服务器会自动去查询DC上的DNS管理器找到alwayson的侦听器名称

图片 28

图片 29

hosts文件

testaglisten  192.168.10.91
testaglisten  192.168.11.91

 

 

 

提示:实际上第16步不是必须的,你可以不添加WSFC的异地子网的vip,但是当本地机房所有节点关机之后

你就不能用本地的vip:192.168.6.60来连接WSFC集群,也就无法管理WSFC集群

 

 

附上结构图

两个网段,所以会有两个侦听器IP,但是同一个时刻只有一个侦听器IP是联机状态,在WSFC集群管理器里查看

主站点:192.168.6x

DR站点:192.168.7.x

图片 30

故障转移到DR站点之后

图片 31

 

 

参考文章:

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

转载自:http://www.cnblogs.com/lyhabc/p/4682986.html

 

从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

第一篇

第二篇

 

这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的

 


步骤

这一篇依然使用step by step的方式介绍怎麽搭建AlwaysOn

 

请先使用本地用户Administrator登录这两个集群节点并执行下面的操作,先不要用域用户DCADMIN登录

图片 32

 

1、两个集群节点都需先安装.NET Framework 3.5(在Windows Server 2012 R2中使用添加功能来安装)。

图片 33

图片 34

图片 35

 

2、各个集群节点本地都要准备好相关软件,在各个节点上独立安装SQL Server 2012(不能使用群集方式安装),保证各个节点中使用相同的安装目录结构和排序规则!

 图片 36

 选择全新SQL Server独立安装,不要选择新的SQL Server故障转移集群安装

 图片 37

至于安装过程,默认下一步下一步就可以了,跟单机安装SQL Server没有区别,这里就忽略安装过程了

图片 38

注意:因为本人的安装包已经自带SP1补丁包,为了后续避免踩坑,如果没有安装SP1或以上补丁包的,请先安装

图片 39

 

 

注意:如果一开始使用域用户DCADMIN来登录集群节点机器,并安装SQL Server的时候会遇到一个坑,SQL Server安装程序会连接故障转移集群,但是实际上单机安装SQL Server根本不需要连接故障转移集群

图片 40

图片 41

本人排查了很久都找不到原因,为什么SQL Server安装程序会连接故障转移集群,下面是SQL Server安装日志

图片 42

图片 43

如果一开始就使用集群节点本地用户Administrator登录来安装SQL Server就不会踩到这个坑

 

 

3、注销集群节点计算机,然后使用域用户DCADMIN登录,然后设置SQL Server的启动账户为域用户DCADMIN

图片 44

打开服务管理器,先修改SQL代理的启动账户为域用户DCADMIN,然后再修改SQL 引擎的启动账户为域用户DCADMIN

图片 45

 

点击“位置”,修改查找位置,选中abc.com
图片 46

点击“高级”

图片 47

点击“立即查找”,选中DCADMIN

图片 48

图片 49

点击“确定”

 

输入域用户DCADMIN的密码

图片 50

 

重启一下SQL代理服务

图片 51

 重启之后可以看到登录用户为DCADMIN@abc.com

图片 52

 

同样,SQL引擎服务也需要同样的设置

图片 53

 

这样,SQL引擎服务和SQL代理服务都用域用户DCADMIN启动

另一个集群节点的SQL Server也需要做同样的操作

 

注意:在集群节点脱离域之后,SQL引擎服务和SQL代理服务都要用本地服务帐号来启动,不能再用域用户来启动

 

 

4、将DCADMIN域用户加入到两个集群节点的SQL Server登录用户中,服务器角色选择sysadmin

先用sa登录SQL Server

图片 54

添加登录用户,跟SQL 服务添加启动账户的步骤一样,将DCADMIN域用户添加为登录用户

图片 55

图片 56

 图片 57

 给予sysadmin权限

图片 58

两个集群节点都可以用DCADMIN域用户来登录SQL Server

图片 59

图片 60

 

 

 

5、回到SQL Server配置管理器,启用AlwaysOn可用性组

图片 61

图片 62

注意:集群节点一定要能进行通信,如果集群节点之间断开通信,那么启用AlwaysOn的时候会报错

图片 63

 

重启SQL Server

图片 64

如果AlwaysOn启用成功,在服务器属性里可以看到启用HADR为True

图片 65

图片 66

 

从0开始搭建SQL。6、在其中一个集群节点的SQL Server中验证各节点的投票数 ,在其中一个集群节点的SQL Server上执行
使用下面SQL语句

SELECT * FROM  sys.dm_hadr_cluster_members;

图片 67

SELECT * FROM SYS.[dm_hadr_cluster]

图片 68

 

7、再次确保各节点已经关闭防火墙,如果防火墙没有关闭,那么在创建可用性组的时候会弹出下面错误

无法将数据库“test”联接到可用性副本“xxx”的可用性组“xx”

针对主副本的连接未处于活动状态。无法处理该命令(错误:35250)

图片 69

图片 70

 

 

 

8、我们使用自行初始化数据库的方式,所以这一步需要新建一个测试库和测试表并插入一些测试数据(这些动作就不演示了),然后对数据库做一个完整备份 和 日志备份

然后把完整备份文件和日志备份文件搬到WIN-5PMSDHUI0KQ机器上依次进行还原,完整备份-》还原完整备份-》日志备份-》还原日志备份
脚本

--在win-7107jjj2bcc上执行
CREATE DATABASE [test]

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

--在win-7107jjj2bcc上执行
DECLARE @CurrentTime VARCHAR(50), @FileName VARCHAR(200)
SET @CurrentTime = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120 ),'-','_'),' ','_'),':','')


--(test 数据库完整备份)
SET @FileName = 'c:DBBackuptest_FullBackup_'   @CurrentTime '.bak'
BACKUP DATABASE [test]
TO DISK=@FileName WITH FORMAT ,COMPRESSION


  --(test 数据库日志备份) 
SET @FileName = 'c:DBBackuptest_logBackup_'   @CurrentTime '.bak'
BACKUP log [test]
TO DISK=@FileName WITH FORMAT ,COMPRESSION

--在WIN-5PMSDHUI0KQ上执行

USE [master]
RESTORE DATABASE [test] FROM  DISK = N'C:DBBackuptest_FullBackup_2015_07_30_093949.bak' WITH  FILE = 1, 
MOVE N'test' TO N'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAtest.mdf', 
MOVE N'test_log' TO N'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAtest_log.ldf', 
NOUNLOAD,NORECOVERY,  REPLACE,  STATS = 5

GO





--注意一定要用NORECOVERY来还原备份
USE [master]
RESTORE DATABASE [test] FROM  DISK = N'C:DBBackuptest_logBackup_2015_07_30_105949.bak' WITH  FILE = 1, 
NOUNLOAD,NORECOVERY,  REPLACE,  STATS = 5

GO

 

自行初始化数据库的好处是:如果我们的辅助副本是跨机房的我们都可以控制初始化的时间,也就是备份和还原的时间,不需要SQL Server来帮我们备份还原数据库

在WIN-5PMSDHUI0KQ上还原日志备份之后的样子

图片 71

 

 

9、在“Alwayson高可用性”节点上右键选择“新建可用性组向导

注意:加入到AlwaysOn可用性组的数据库必须符合下面要求

(1)数据库的恢复模式必须是“完整”恢复模式

(2)数据库已进行了一次完整备份

(3)需要是用户库,系统库不能加入可用性组

(4)数据库可以读写,只读库不能加入到可用性组

(5)数据库处于多用户模式

(6)数据库没有使用AUTO_CLOSE

(7)不属于任何其他的可用性组

(8)数据库没有配置数据库镜像

一个可用性组最大支持100个数据库

图片 72

图片 73

 

10、点击“下一步”,输入一个从未使用过的高可用性组名称 testAG

 图片 74

 

11、点击下一步,选择要添加的数据库

图片 75

 

12、点击“下一步”,使用添加副本来将其他节点添加到可用性组中,并选择自动故障转移节点和同步提交节点,因为我们只有两个节点

图片 76

我们将辅助副本设置为可读,能够自动故障转移,同步提交模式

图片 77

13、点击“端点”tab页面设置端点

图片 78

图片 79

注意:端点URL使用IP的方式,不要用FQDN长名的方式,因为服务器通常会有两个网卡,一个public网卡,一个private网卡,端点建议使用private网卡地址

这样在端点直接传送的数据就会经由private网卡来传送,使用TCP://test.abc.com:5022 这种FQDN长名的方式是不能保证端点数据通过private网卡来传送

SQL Server服务账户使用域用户DCADMIN来进行身份验证,避免使用证书的方式

 

14、“备份首选项”和“侦听器”不需要设置,保持默认就行,可用性侦听器我们后面再添加,可以直接点击“下一步”

图片 80

点击“是”

 

15、选择初始数据同步,这里选择“仅联接”模式

图片 81

 

 

 16、点击“下一步”来验证配置,对应侦听器配置警告可以忽略,后期来添加侦听器

因为使用的是“仅联接”数据库初始化方式,验证跳过像可用磁盘空间这样的检查

 图片 82

 

 

17、点击“下一步”来检查并确认之前的配置信息,若无误,点击“完成”。另外,此处也可保存建立可用性组脚本,以便分步诊断故障之用。

 图片 83

 

 

18、所有摘要均成功完成,显示绿色对勾。如果出现黄色警告,则需进行进一步判断是否成功。若出现红色错误,表示AG创建不成功

图片 84

图片 85

注意:如果大家使用奇数集群节点,并且仲裁配置使用的是节点多数,那么在创建可用性组完毕的时候,WSFC仲裁投票配置会显示警告

点击警告链接会弹出下面的对话框,这个警告其实可以不用理会

 图片 86

图片 87

 

19、查看服务器和数据库的变化

主副本

数据库变为已同步

图片 88

辅助副本

辅助副本这时候是可读的,在主副本上对test1表做的更改都能同步到辅助副本上的test1表

图片 89

 

再看一下故障转移集群管理器

可用性组变为一个集群角色

图片 90

 图片 91

点击显示面板可以显示可用性面板

图片 92

图片 93

图片 94

20、在创建可用性组后,在“可用性组侦听器”上右键添加侦听器来创建侦听器,选择静态IP的网络模式(尽量不要选择DHCP网络模式),

输入一个从未使用过的名称(该名称将被用来创建网络名称资源)和访问端口

 

图片 95

图片 96

点击确定

图片 97

 

创建成功

图片 98

在域控的DNS管理器上会注册一条A记录

图片 99

在AD里的Computers容器里会添加一个故障转移集群虚拟网络名称账户

图片 100

 

在故障转移集群管理器里的角色节点,可以看到客户端访问名称和IP地址,客户端通过这个访问名称进行访问数据库

图片 101

图片 102

 

使用侦听器名称进行登录SQL Server

图片 103

图片 104

 

当然也可以用listener IP来连接SQL Server

图片 105

图片 106

 

 

在辅助副本添加登录用户,让主副本上的登录用户也可以读取辅助副本数据
步骤1:查看主库上该账号的sid [test]为库名
SELECT * FROM [test]..sysusers
比如:dalogin 0x99AD266AFD26F841B3E49EF9633B0D4B

步骤2:在副本数据库上创建对应账号,其中 sid对应的值是主库上所查到的sid的值
CREATE LOGIN [dalogin] WITH PASSWORD=N'xxxxxxx',
SID =0x99AD266AFD26F841B3E49EF9633B0D4B, DEFAULT_DATABASE=[test],
 CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF

 


可用性组的基本管理

注意:尽量用SSMS的UI或TSQL语句来操作可用性组,不要用故障转移集群管理器来操作

 

故障转移

首先使用 侦听器名称来登录SQL Server,查看当前是在主副本是在哪个机器

图片 107

 

手动故障转移

选中testAG这个可用性组,右键-》故障转移

图片 108

图片 109

点击“下一步”

图片 110

点击“下一步”

图片 111

连接到 WIN-5PMSDHUIOKQ这台辅助副本机器

图片 112

图片 113

点击“完成”

图片 114

开始进行故障转移

图片 115

图片 116

再一次执行查询

图片 117

已经故障转移到WIN-5PMSDHUIOKQ这台机

查看一下testAG可用性组的属性

图片 118

图片 119

 

执行下面SQL语句,将WIN-7107JJJ2BCC机器设置为可读副本

USE [master]
GO
ALTER AVAILABILITY GROUP [testAG]
MODIFY REPLICA ON N'WIN-7107JJJ2BCC' WITH (SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL))
GO

 

执行下面SQL语句测试一下

在当前主副本执行

insert into test1 select 3, 'test3'

图片 120

 

可以看到数据已经同步过来WIN-7107JJJ2BCC机器,并且数据库可读

可读辅助副本是只读的,如果要对它进行数据更改则会报错

print 'servername: ' @@SERVERNAME 


insert into [test].[dbo].[test1] select 4, 'test4'

图片 121

 

AlwaysOn相关视图

--通过这两个视图可以查询AlwaysOn延迟
SELECT  b.replica_server_name ,
        a.*
FROM    sys.dm_hadr_database_replica_states a
        INNER JOIN sys.availability_replicas b ON a.replica_id = b.replica_id 

--可用性组所在Windows故障转移集群
SELECT * FROM sys.dm_hadr_cluster;
SELECT * FROM sys.dm_hadr_cluster_members ;
SELECT * FROM sys.dm_hadr_cluster_networks;
SELECT * FROM sys.dm_hadr_instance_node_map;
SELECT * FROM sys.dm_hadr_name_id_map

--可用性组
SELECT * FROM sys.availability_groups;
SELECT * FROM sys.availability_groups_cluster;
SELECT * FROM sys.dm_hadr_availability_group_states ;

--可用性副本
SELECT * FROM sys.availability_replicas;
SELECT * FROM sys.[availability_read_only_routing_lists]
SELECT * FROM sys.dm_hadr_availability_replica_cluster_nodes;
SELECT * FROM sys.[dm_hadr_availability_replica_cluster_states]
SELECT * FROM sys.[dm_hadr_availability_replica_states]

--可用性数据库
SELECT * FROM sys.availability_databases_cluster;
SELECT * FROM sys.dm_hadr_database_replica_cluster_states;
SELECT * FROM sys.[dm_hadr_auto_page_repair]
SELECT * FROM sys.[dm_hadr_database_replica_states]

--可用性组listener
SELECT * FROM sys.availability_group_listener_ip_addresses;
SELECT * FROM sys.availability_group_listeners;
SELECT * FROM sys.dm_tcp_listener_states;



--添加只读路由列表
ALTER AVAILABILITY GROUP [agtest2]
MODIFY REPLICA ON N'WIN-5PMSDHUI0KQ' WITH (SECONDARY_ROLE(ALLOW_CONNECTIONS= READ_ONLY));


ALTER AVAILABILITY GROUP [agtest2]
modify REPLICA ON N'WIN-5PMSDHUI0KQ' WITH (SECONDARY_ROLE(READ_ONLY_ROUTING_URL=N'TCP://192.168.66.157:1433'))

ALTER AVAILABILITY GROUP [agtest2]
MODIFY REPLICA ON N'WIN-4AE61RVA6UV' WITH (SECONDARY_ROLE(ALLOW_CONNECTIONS= READ_ONLY));

ALTER AVAILABILITY GROUP [agtest2]
modify REPLICA ON N'WIN-4AE61RVA6UV' WITH (SECONDARY_ROLE(READ_ONLY_ROUTING_URL=N'TCP://192.168.66.158:1433'))

总结

AlwaysOn搭建步骤就介绍到这里,希望大家跟着我来体验一下AlwaysOn的强大

 

同样的,添加一个辅助副本的操作: 加域、加入故障转移集群、更改仲裁配置、添加辅助副本 

按照文章的来操作相信添加辅助副本也不难

 

还有一个就是遇到问题多看看SQL Server errorlog和WSFC的事件日志

图片 122

图片 123

 

 

对于更多信息可以参考《SQLSERVER2012实施与管理实战指南》书本

地址: 

 

相关文章

 创建了一个弱事件,但它位于错误对象上 下载补丁解决 ()

 19471错误

创建侦听器错误19471,19476 问题

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

 

2015-11-13补充

图片 124

 

两个节点的AlwaysOn ,用共享文件夹做见证磁盘

当自动故障切换的时候,有时候出现,辅助副本正在解析的现象,之前以为是仲裁丢失(WSFC与文件共享见证失去联系),导致WSFC挂掉,后来发现原因是WSFC控制面板里的角色属性里面的最大故障数的问题而导致的

推荐将指定时段内的最大故障数设置为10 

图片 125

图片 126

 

图片 127 View Code

 

2015-12-9补充

卸载集群

1、先逐个逐出节点

图片 128

2、集群node(随便一个集群node)上执行下面命令,不能在DC上执行,因为DC没有安装故障转移集群,sqltestdemo1为集群名

Get-Cluster sqltestdemo1 | Remove-Cluster -Force -CleanupAD

3、集群最后一个节点不能逐出,只能销毁集群

图片 129

4、销毁集群后在每个集群上的powershell里运行下面命令,以清除一些垃圾

Clear-ClusterNode

图片 130

 

5、在域控的AD用户和计算机界面里面把集群虚拟名称删除掉

图片 131

 

 

删除可用性组

1、删除辅助副本

USE [master]
GO
ALTER AVAILABILITY GROUP [HAGroup01]
REMOVE REPLICA ON N'SQLSVR2';
GO

 

2、删除可用性数据库

USE [master]
GO
ALTER AVAILABILITY GROUP [HAGroup01]
REMOVE DATABASE [SQLDB02];
GO

 

 

3、删除侦听器

USE [master]
GO
ALTER AVAILABILITY GROUP [HAGroup01]
REMOVE LISTENER N'SQLAG01';
GO

 

4、删除可用性组

USE [master]
GO
DROP AVAILABILITY GROUP [HAGroup01];
GO

 

5、在域控的AD用户和计算机界面里面把侦听器虚拟名称删除掉

图片 132

 

图片 133

 

 

标签: 故障转移, sqlserver alwayson, alwayson, alwayson高可用, failover 节点

最近在公司搞异地数据库容灾,使用AlwaysOn的异地节点进行数据同步,在搭建的过程中遇到了一些问题

软件版本

SQL Server2014

Windows2012R2

 

网络环境

两个机房,一个机房是一个网段,另一个机房是另一个网段,也就是两个子网,两个网段,但是在同一个域中,而且使用了VPN

图片 134

 

AlwaysOn是支持多子网的,在跨机房,多子网环境有几个地方需要注意

1、在搭建过程中需要把异地节点的投票权去掉,这个在搭建过程中没有遇到问题
NodeWeight
在任意集群节点上以域用户登录计算机,并以管理员身份运行powershell,并执行下面命令,JXxx08为异地节点的计算机名,把JXxx08节点的投票权设置为0
命令如下

Import-Module FailoverClusters
$node ="JXxx08"
(Get-ClusterNode $node).NodeWeight = 0
$cluster = (Get-ClusterNode $node).Cluster
$nodes = Get-ClusterNode -Cluster $cluster
$nodes | Format-Table -property NodeName, State, NodeWeight

 

 

2、由于可用性组建立了侦听器,那么在failover的时候会遇到侦听器IP不能覆盖另一个子网的问题,导致报错

无法将实例xxx联接到可用性组xxx

服务器“xxxxxx”无法承载为可用性组侦听器配置的任何 IP 地址。或者配置可承载指定 IP 地址之一的公共群集网络,或者添加可在此服务器的公共群集网络上承载的另一个侦听器 IP 地址。
无法将本地可用性副本联接到可用性组“xxxxxx”。该操作遇到了 SQL Server 错误 19456,已被回滚。有关详细信息,请查看 SQL Server 错误日志。在错误根源得到纠正后,请重试 ALTER AVAILABILITY GROUP JOIN 命令。 (Microsoft SQL Server,错误: 19456)

解决这个问题的方法是在侦听器里再添加另一个网段的vip

图片 135

图片 136

图片 137

图片 138

这样侦听器现在有两个网段的vip了,异地机房的侦听器IP在添加之后会自动脱机,不用理会它

 

3、由于是新添加的异地节点,添加到已有的可用性组中,那么可能遇到下面这个报错

无法将实例xxx联接到可用性组xxx

无法将可用性副本联接到可用性组xx,该操作遇到了SQL Server错误41106,已被回滚。
有关详细信息,请查看 SQL Server 错误日志。在错误根源得到纠正后,请重试 ALTER AVAILABILITY GROUP JOIN 命令。 (Microsoft SQL Server,错误: 41158)

这个问题跟多子网无关,在这里也顺便列出来了

解决方法是再随便新建一个AG,把异地节点也加入到这个AG里面,就可以解决

图片 139

图片 140

因为异地节点是新建进来的节点,AlwaysOn的镜像端点还没有设置才导致报上面的错误

 

 

希望这篇文章能帮助大家

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

本文由澳门新萄京发布于数据库,转载请注明出处:从0开始搭建SQL

上一篇:澳门新萄京:SQL数据库基础 下一篇:没有了
猜你喜欢
热门排行
精彩图文