Sql Server 2012 alwayson 搭建 (3)------- 配置AlwaysOn

.Net Framework 3.5 安装

此处省略

Sql Server 安装

这里就i丕演示了,跟装单实例是一样的,切记 AlwaysOn 组内的 Sql Server 版本一定要是一样的,包括补丁也最好一致

我装的版本是:

Microsoft SQL Server 2012 (SP4) (KB4018073) - 11.0.7001.0 (X64) 
	Aug 15 2017 10:23:29 
	Copyright (c) Microsoft Corporation
	Enterprise Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)

设置 Sql Server 服务与 Sql Server Agent 服务器用域账号 tyadmin 启动,并重新启动服务

PS:2个节点都设置

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

 

 

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

 

 

 

启用AlwaysOn可用性组

启用后重启 Sql Server 服务。

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

 

在其中一个集群节点的SQL Server中验证各节点的投票数 ,在其中一个集群节点的SQL Server上执行
使用下面SQL语句

SELECT * FROM  sys.dm_hadr_cluster_members;
SELECT * FROM SYS.[dm_hadr_cluster];

 

创建测试环境

这里只说步骤,详细过程不做演示:

1.在 ty03 创建 test1 数据库,并创建表 table_1,插入数据 1;

2.全备份 test1 数据库;

3.备份 test1事物日志;

4.将 2,3 步骤备份的文件传入 ty04 机器;

5.在 ty04 机器上恢复 test1 全备份(norecovery);

6.恢复 test1 的事物日志文件;

最后的状态如下:

 

创建 AlwaysOn 组

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

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

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

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

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

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

(6)数据库没有使用AUTO_CLOSE

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

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

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

创建的 AlwaysOn 的名字

选择需要加入到 AlwaysOn 组的数据库

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

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

“ Backup Preferences ”和“ Listener ”不需要设置,保持默认就行,可用性侦听器我们后面再添加,可以直接点击“下一步”

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

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

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

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

 

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

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

可以看到在主副本上做的修改,在辅助副本上也可以查看。

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

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

 

AlwaysOn 信息

 

创建 Listener

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

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

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

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

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

在辅助副本添加登录用户,让主副本上的登录用户也可以读取辅助副本数据
步骤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

 

报表账号设置
在主副本中,执行:
use 库名
go
grant exec to 报表账号连接所用的用户 或grant exec on 存储过程 to 报表账号连接所用的用户

 

故障转移

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

手动故障转移

观察可用组节点的状态 ,主副本节点从 TY03 到了 TY04

后续日常操作带补充

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ty_FFTQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值