SQL SERVER 2012 AlwaysOn– 数据库层面 02

时间:2023-01-04 01:01:23

搭建 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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

安装 SP2 补丁包

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

 

1.2 配置 AlwaysOn

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

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

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

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

- AlwaysOn 初始化数据库

 

- DB124 创建数据库 Flow  

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

- 完整备份数据库[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

 

- 以 DB124 为主节点 创建 AlwaysOn

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

SQL SERVER 2012 AlwaysOn– 数据库层面 02

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

SQL SERVER 2012 AlwaysOn– 数据库层面 02

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

下一步

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

- 配置侦听器

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

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

 

SQL SERVER 2012 AlwaysOn– 数据库层面 02

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

点击确定;

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

查看 AlwaysOn 可用性组的详情

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

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

SQL SERVER 2012 AlwaysOn– 数据库层面 02

 

至此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