SQL Server AlwaysOn 故障转移
2024-09-22 03:25:37
目的:
a) AlwaysOn 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案。
b) 当数据库服务器SQL1出现故障宕机时,可以通过AlwaysOn可用性组,自动故障转移到数据库服务器SQL2。
=============== 具体步骤 ===============
1. 服务管理器添加Hype-V角色,并且新建3台虚拟机:
a) AlwaysOn-SCSI : iSCSI目标服务器(用于创建仲裁磁盘和共享磁盘)
b) AlwaysOn-SQL1 : 数据库服务器
c) AlwaysOn-SQL2 : 数据库服务器
2. AlwaysOn-SCSI配置iSCSI虚拟磁盘(10G仲裁磁盘 + 80G数据磁盘)
3. AlwaysOn-SQL1/2 安装 SQLServer2012,配置故障转移:
a) 创建集群
b) 添加服务器AlwaysOn-SQL1 + AlwaysOn-SQL2
4. AlwaysOn-SQL1/2 启用 AlwaysOn 可用性组
a) SQL Server 配置管理器 -> SQL Server (MSSQLSERVER) -> 属性 -> AlwaysOn 高可用性
b) Windows故障转移集群名称 + 勾选 启用 AlwaysOn 可用性组
5. AlwaysOn-SQL1/2 配置 SQLServer 高可用性:
a) AlwaysOn 高可用性 -> 新建可用性向导
b) 添加高可用的目标数据库 + 配置同步数据的共享文件夹
c) 选择 故障转移模式 -> 自动
6. 测试:
a) 手动 故障转移测试
b) 关机 故障转移测试
c) 断电 故障转移测试
7. 小结:
a) 物理服务器添加Hype-V -> 创建3台VM虚拟主机(1台iSCSI,2台SQL)
b) iSCSI配置虚拟磁盘(2台SQL -> iSCSI发起程序)
c) Windows集群配置 -> 添加SQL1/SQL2节点 + 仲裁配置 + 客户端访问点
d) SQL Server高可用性配置 -> 选择目标数据库 + 指定SQL1/SQL2主副本节点 + 选择故障转移模式:自动 + 配置数据同步的共享文件夹
c) 测试
8. 读写分离:(未能成功...)
use master ALTER AVAILABILITY GROUP [AlwaysOnGroup] MODIFY REPLICA ON N'NODE-SQL1'
WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://Node-SQL1.luyuan.cn:5022')) ALTER AVAILABILITY GROUP [AlwaysOnGroup] MODIFY REPLICA ON N'NODE-SQL2'
WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://Node-SQL2.luyuan.cn:5022')) ALTER AVAILABILITY GROUP [AlwaysOnGroup] MODIFY REPLICA ON N'NODE-SQL2'
WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('NODE-SQL1'))); ALTER AVAILABILITY GROUP [AlwaysOnGroup] MODIFY REPLICA ON N'NODE-SQL1'
WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('NODE-SQL2')));
连接参数:Server=tcp:AGListener,1433;Database=AdventureWorks;IntegratedSecurity=SSPI;ApplicationIntent=ReadOnly
参考文章:
http://www.cnblogs.com/aarond/p/3679915.html
https://msdn.microsoft.com/en-us/library/hh213417(v=sql.110).aspx
最新文章
- CI框架,源代码一次性判断获取post(get)数据是否有某个字段值为空方法
- window.location.href无法跳转的解决办法
- list 集合
- OpenCV成长之路(6):数学形态学基本操作及其应用
- OpenCv皮肤检测-HSV分离
- 成员变量的隐藏,方法的覆盖,super关键字
- JQuery,UIbootstrap风格弹出层
- hdu 3859 Inverting Cups
- Nginx 反向代理配置实例(转)
- http的无状态无连接到底是什么含义
- JavaScript高级程序设计:第十四章
- Maven 私服的简单使用
- Android Widget小组件开发(一)——Android实现时钟Widget组件的步骤开发,这些知识也是必不可少的!
- MySQL视图,函数,触发器,存储过程
- leetcode:Roman to Integer and Integer to Roman
- Java的家庭记账本程序(C)
- EntityFramework Reverse POCO Code First 反向生成器
- AJAX html 传输json字符串&;&;巧妙运用eval()来解析返回的JSON字符串
- Java编程思想学习笔记——初始化与清理(二)
- elasticsearch问题解决之分片副本UNASSIGNED
热门文章
- 这个更新需要花去 50.6 M 磁盘上总计 /boot 的空间。请在 7737k 磁盘上留出 /boot 空间。清空您的回收站和临时文件,用“sudo apt-get clean
- sql server数据库区分大小写设置
- JQ点击高亮显示
- C#中Spli、正则表达式分解字符串详解
- Ubuntu第一次使用调教教程
- bluestacks安装安卓引擎时出现2502 2503错误的解决办法
- (转)C/C++中static关键字
- Git 添加空文件夹的方法
- python针对于mysql的增删改查
- SQL Server 与内存相关的术语