SQLServer2016AlwaysOn总结整理
⼀、Always On简介
从SQL Server 2012开始,SQLServer引⼊了⼀种新的⾼可⽤技术,它的名字叫做AlwaysOn。AlwaysOn在开发初期代号叫做HADRon。但是AlwaysOn相对于故障转移集、数据库镜像和⽇志传送⽽⾔,的确是拥有许多优势。甚⾄可以说,AlwaysOn是这三种技术的集⼤成者。想要了解更全⾯的介绍和技术内容,可参考《SQL Server 2012 实践与管理实战指南》和官⽅⽂档。
⼆、Always On 构建
SQL Server 2016 Always On 可以在域环境、⾮域环境构建,从构建⾓度来看,最⼤的不同之处是AG间主要副本和辅助副本间数据同步时,数据库实例间认证⽅式存在差异。
域环境可以使⽤Windows认证、证书认证,⾮域环境可使⽤证书认证。此处只讨论域环境下两个节点的Always On构建及维护。
1、环境准备
(1)域账号
AD\Administrator --域管理账户,⽤于创建WSFC集
AD\sqladmin --普通域账户,⽤于SQL Server 服务运⾏
(2)软件
SQL Server 2016 SP2 --直接使⽤SP2版本,打补丁只需打⼀次
SQL Server补丁(CU14) --从官⽹下载最新的补丁
(3)服务器
主机名NA1NA2
业务⽹段IP192.168.10.131192.168.10.132
⼼跳⽹段IP192.168.20.131192.168.20.132
存储⽹段IP192.168.30.131192.168.30.132
操作系统Windows Server 2016Windows Server 2016
备注:
· 两台服务硬件配置、系统环境⼀致
· 实际⽣产中,存储可能不是通过这种⽅式连接主机的
· 业务⽹段⽹卡,需要“禁⽤TCP/IP上的NetBIOS",否正在创建可⽤性组侦听时会报错(具体原因待深究)。
2、WSFC、SQL Server、AG配置规划
(1)故障转移集
集名称: SQLCLUSTER --注意命名规范,最好纯字母(若实在需要特殊字符请去官⽹查阅命名规范,2008的域控不⽀持“-”,2016的域控可以⽤“-”)
集IP : 192.168.10.130
⽹络规划:
业务⽹络 192.168.10.0/24 集和业务
⼼跳⽹络 192.168.20.0/24 仅集
存储⽹络:192.168.30.0/24 仅集
(2)SQL Server
实例名称 : MSSQLSERVER
实例运⾏账户: AD\sqladmin
代理运⾏账户: AD\sqladmin
实例端⼝号: 1433
端点端⼝ : 5022 --副本间数据同步通过次端⼝
(2)可⽤性组(AG)
AG名称: AGSQLHR
AG侦听名称 : AGLnsrHR --注意命名规范,最好纯字母(若实在需要特殊字符请去官⽹查阅命名规范)
AG侦听IP : 192.168.10.136 --注意预留IP地址,防⽌以后添加节点。
sqlserver2012数据库还原⽣产中还应关注计算机防⽕墙、⽹络防⽕墙的影响,应整理出OS、WSFC、SQL Server、AG与数据库环境构建和使⽤的相关端⼝(待补充)。
2、搭建作业
1.两台服务器配置修改:修改主机名、配置IP地址,配置业务⽹卡“禁⽤TCP/IP上的NetBIOS”。
2.两台服务器配置OS权限:本地Administrators组添加成员:AD\sqladmin
3.两台服务器安装SQLServer: 以本地账户Administrator登录操作系统,安装SQL Server,打补丁
SSCM中修改实例、代理服务运⾏账户为 AD\sqladmin (如果时命名实例,还需修改实例访问端⼝为规划端⼝)
SSCM中修改实例启⽤Always On⾼可⽤,重启实例。
SSMS连接数据库实例,在登录名中添加登录名AD\sqladmin,同时添加sysadmin⾓⾊
4.搭建WSFC: 使⽤域管理员账户AD\Administrator 登录其中⼀个服务器
验证、创建故障转移集
配置仲裁
备注:如果是共享⽂件仲裁,1.需要确保⽹络稳定,这种问题发⽣的概率⽐较⼤。2.如果是普通服务器提供的共享⽂件夹,请考虑服务器是否会出现因打补丁或被他⼈重启等不可控的情况。
业界通常将仲裁盘或⽂件夹设为Q
备注:(1)创建WSFC可以⽤普通的域账户(加⼊本地Administrator),但需要域控中预先在OU中创建计算机对象SQLCLUSTER,或者给该普通域账户赋予创建计算机对象及DNS权限
(2)WSFC创建过程中,域账户AD\Administrator在域控中做的主要操作有两个。
·在NA1、NA2所在OU创建计算机对象:SQLCLUSTER
·在DNS中添加了解析:SQLCLUSTER - 192.168.10.130
后⾯将要创建的AG是故障转移集SQLCLUSTER的资源,⽽创建AG侦听时,SQLCLUSTER将在域控中也要做两个操作
·
在SQLCLUSTER所在OU创建计算机对象:AGLnsrHR
·在DNS中添加了解析:AGLnsrHR - 192.168.10.136
实际⽣产环境中,域控权限设置,创建的计算机对象可能没有创建计算机对象的权限,因此需要确认SQLCLUSTER的权限。
5.SQLCLUSTER域控权限配置:在域控中给修改SQLCLUSTER所在OU赋予SQLCLUSTER权限:创建计算机对象、删除计算机对象、读取所有属性(名称待修正)
6.配置Always On 可⽤性组:使⽤本地管理账户Administrator登录NA1
在故障转移集管理器中,确认修改:业务⽹络-集和业务、⼼跳⽹络-仅集、存储⽹络-仅集
使⽤SSMS连接到NA1上的数据库实例,创建测试数据库testdb,完整备份testdb
创建可⽤性组AGSQLHR
创建可⽤性组AGLnsrHR: 侦听名称-AGSQLHR 侦听IP-192.168.10.136
7.故障转移策略设置:故障转移集管理器中,修改⾓⾊AGSQLHR的故障转移策略为:6⼩时10次、取
消故障恢复(以实际需求为准,这⾥供参考)
8.进⾏AG功能简单验证:数据库同步,故障转移。
备注:后期建议进⾏软硬件、联合应⽤进⾏测试。
9.业务系统安装,创建业务数据库
10.添加业务数据库⾄AG
备注:· 数据量使⽤的⾃动种⼦,实际应考虑⽹络环境进⾏判断使⽤⾃动种⼦还是⼿⼯还原。实测50G的数据量,4CPU,万兆⽹络,磁盘写⾼达1300MB/s的条件下,⾃动种⼦同步速度约200MB/s~300MB/s。
· 曾经遇到这种情况:数据库较多,⼀次性添加多个数据库⾄AG,出现部分数据库⽆法在辅助副本还原的情况,后⾯在主库移除有问题的可⽤性数据库,重新⼀个⼀个地添加⾄AG,同步正常。
11.配置数据库备份维护计划:
指定备份策略:(1)每天23点完整备份+⽇志备份、本地保留1天、NBU保留7天;(2)设置AG备份策略为“优先辅助副本”
主要副本、辅助辅助配置相同地备份维护计划:
(1)仅复制的完整备份 --任务计划不会备份主要副本,辅助副本不⽀持普通的完整备份
(2)正常⽇志备份 --任务计划不会备份主要副本,任意副本上备份⽇志,会截断其他副本⽇志
12.⼿动备份系统库
三、Always On 维护
1.故障测试:服务、系统、集、仲裁等软硬件故障对AG的影响。
2.故障恢复:辅助副本故障如何修复、主要副本故障如何修改
3.副本增减:增加副本、减少副本、修改端点
4.AG监控:
5.AG性能:
6.SQLServer打补丁

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。