搭建 AlwaysOn 是件非常繁琐的工作,需要从两方面考虑,操作系统层面和数据库层面,AlwaysOn 非常依赖于操作系统,域控,群集,节点等概念;

DBA 不但要熟悉数据库也要熟悉操作系统的一些概念;否则理解的会不深刻,一旦AlwaysOn 出现故障,首先根据错误日志,来排查是操作系统问题还是数据库问题;

部署AlwaysOn 分三部分:

1,操作系统层面; https://www.cnblogs.com/lvzf/p/10565298.html

2,数据库层面;    https://www.cnblogs.com/lvzf/p/10566598.html

3,维护AlwaysOn;   https://www.cnblogs.com/lvzf/p/10569857.html

本篇文章详细介绍- 数据库层面的部署;

接上文 SQL SERVER 2012 AlwaysOn - 操作系统层面 01 下面开始对AlwaysOn 数据库层面的部署

1,搭建AlwaysOn - 可用性组

1.1 安装 SQLSERVER 2012( - sp2)

点击【全新 SQLSERVER 独立安装…….】不要点击【新的 SQLSERER 故障转移群集安
装 】做 AlwaysOn 可用性组 不需要 SQLSERER 群集

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

安装 SP2 补丁包

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

1.2 配置 AlwaysOn

因为生产环境数据库较大,为了不影响业务运行,短时间内能创建 AlwaysOn , 我们采用备份+还原方式配置 AlwaysOn ;

各个节点担当的角色如下:
主:   192.168.140.124
辅同:192.168.140.128
辅异:192.168.140.129

启用 AlwaysOn 可用性组 (三个节点做同样的操作)

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

右键 SQLSERVER 服务 – 属性-AlwaysOn 高可用性 – 启用 AlwaysOn 可用性组 ;

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

- 重启 SQLSERER 服务(三个节点做同样的操作)

- AlwaysOn 初始化数据库

- DB124 创建数据库 Flow

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

- 完整备份数据库[Flow]

USE MASTER
GO
BACKUP DATABASE [Flow] TO DISK='E:\Backup\Flow_full_20160122.bak' WITH CHECKSUM,NOFORMAT,INIT,SKIP
GO

- 数据库[Flow]日志备份

USE MASTER
GO
BACKUP LOG [Flow] TO DISK='E:\BackupLog\FlowLog_1.bak'
GO

- 把完整备份和日志备份拷贝到 DB128,DB129 服务器;

- DB128,DB129 还原数据库[Flow];( 注意:NORECOVERY 模式,非常重要 )

USE [master]
GO
RESTORE DATABASE [Flow] FROM DISK = N'E:\Backup\Flow_full_20160122.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5
GO

- DB128,DB129 还原日志[UCardFlow];( 注意:NORECOVERY 模式,非常重要 )

USE MASTER
GO
RESTORE LOG [Flow] FROM DISK = N'E:\BackupLog\FlowLog_1.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10
GO

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

- 以 DB124 为主节点 创建 AlwaysOn

右键[AlwaysOn 高可用性] - 新建可用性组向导

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

点击 【下一步】,输入可用性组名称【FlowCluster】

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

点击【下一步】 选中 Flow 数据库

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

点击【下一步】添加副本,添加 DB128,DB129 副本

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

点击【端点】输入对应的 IP 地址

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

点击【备份首选项】 选中主副本

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

下一步,选中【仅联接】因为前期已经做完数据库初始化

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

下一步,出现警告(正在检查侦听器配置),不用理会,因为我们还没有配置侦听器;

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

下一步

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

点击【完成】
也可以点击【脚本】生成 SQL 脚本,下次利用脚本配置 AlwaysON 能快速完成

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

- 配置侦听器

DB124 – 可用性组侦听器-右键-添加侦听器

(因为我们前面没有配置侦听器,到这一步我们手动配置,其实道理一样)

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

输入侦听器 DNS 名称 DB150,端口 1433,IP 192.168.140.150

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

点击确定;

- 下图是整个 AODB 配置完成后 主服务器实例的情况;

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

查看 AlwaysOn 可用性组的详情

可用性组名称 – FlowCluster 右键 – 属性 如下图

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

我们是三个节点的 AlwaysOn ,其中 DB124 是主角色,DB128,DB129 是辅助角色
DB124 对外提供读写服务。DB128,DB129 对外提供只读服务,根据业务情况,选择具体
的只读服务器。其中 DB129 异步提交可以做为异地灾备服务器;

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

打开域控服务器 AD1074 DNS 记录,发现服务器 IP,以及群集,侦听器 IP 都记录在内

SQL SERVER 2012 AlwaysOn– 数据库层面 02-LMLPHP

至此AlwaysOn 数据库层面配置完成;

部署AlwaysOn 分三部分:

1,操作系统层面; https://www.cnblogs.com/lvzf/p/10565298.html

2,数据库层面;    https://www.cnblogs.com/lvzf/p/10566598.html

3,维护AlwaysOn;   https://www.cnblogs.com/lvzf/p/10569857.html

04-20 14:56