合 在Windows域环境中安装MSSQL 2016 Always On Availability Group
Tags: MSSQL高可用Always OnAvailability Group可用性组域环境
搭建always on集群
请先使用本地用户Administrator登录这2个集群节点并执行下面的操作,先不要用域用户DCADMIN登录
安装.NET Framework 3.5
1、2个集群节点都需先安装.NET Framework 3.5(在Windows Server 2012 R2中使用添加功能来安装)。
安装SQL Server 2016
2、各个集群节点本地都要准备好相关软件,在各个节点上独立安装SQL Server 2016(不能使用群集方式安装),保证各个节点中使用相同的安装目录结构和排序规则!
选择全新SQL Server独立安装,不要选择新的SQL Server故障转移集群安装
至于安装过程,默认下一步下一步就可以了,跟单机安装SQL Server没有区别,这里就忽略安装过程了。
修改为域用户登陆
3、打开服务管理器,先修改SQL代理的启动账户为域用户DCADMIN,然后再修改SQL引擎的启动账户为域用户DCADMIN
这样,SQL引擎服务和SQL代理服务都用域用户DCADMIN启动
另一个集群节点的SQL Server也需要做同样的操作
注意:在集群节点脱离域之后,SQL引擎服务和SQL代理服务都要用本地服务帐号来启动,不能再用域用户来启动
将域用户加入登录用户
4、将DCADMIN域用户加入到两个集群节点的SQL Server登录用户中,服务器角色选择sysadmin
先用sa登录SQL Server
添加登录用户,跟SQL 服务添加启动账户的步骤一样,将DCADMIN域用户添加为登录用户
若已存在域用户,则不用新建。
两个集群节点都可以用DCADMIN域用户来登录SQL Server
启用AlwaysOn可用性组
5、回到SQL Server配置管理器,启用AlwaysOn可用性组
并且重新启动服务!!!
6、在其中一个集群节点的SQL Server中验证各节点的投票数 ,在其中一个集群节点的SQL Server上执行
使用下面SQL语句
1 | SELECT * FROM sys.dm_hadr_cluster_members; |
1 | SELECT * FROM SYS.[dm_hadr_cluster]; |
初始化数据库
8、我们使用自行初始化数据库的方式,所以这一步需要新建一个测试库和测试表并插入一些测试数据,然后对数据库做一个完整备份 和 日志备份,然后把完整备份文件和日志备份文件搬到mssql202机器上依次进行还原,完整备份-》还原完整备份-》日志备份-》还原日志备份。
自行初始化数据库的好处是:如果我们的辅助副本是跨机房的我们都可以控制初始化的时间,也就是备份和还原的时间,不需要SQL Server来帮我们备份还原数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -- 201操作 create database lhrdb; ALTER DATABASE [lhrdb] SET RECOVERY FULL; USE lhrdb CREATE TABLE [test1]([id] INT,[name] VARCHAR(100)) INSERT INTO [test1] SELECT 1,'test' backup database lhrdb TO DISK = N'D:\bk\lhrdb_full.bak' with format,stats=5,compression; -- 将备份文件拷贝到202 -- 202操作 USE [master] RESTORE DATABASE [lhrdb] FROM DISK = N'D:\bk\lhrdb_full.bak' WITH NORECOVERY, STATS = 5; |
新建AG组
9、在“Always On高可用性”节点上右键选择“新建可用性组向导”
注意:加入到Always On可用性组的数据库必须符合下面要求
(1)数据库的恢复模式必须是“完整”恢复模式
(2)数据库已进行了一次完整备份
(3)需要是用户库,系统库不能加入可用性组
(4)数据库可以读写,只读库不能加入到可用性组
(5)数据库处于多用户模式
(6)数据库没有使用AUTO_CLOSE
(7)不属于任何其他的可用性组
(8)数据库没有配置数据库镜像
10、点击“下一步”,输入一个从未使用过的高可用性组名称 SQLAG
点击下一步,选择要添加的数据库
点击“下一步”,使用添加副本来将其他节点添加到可用性组中,并选择自动故障转移节点和同步提交节点,因为我们只有两个节点