笔者工作中也有很多场景会用到HA, 但因为没有进行过系统的学习, 所以处理HA问题时总觉得捉襟见肘. 索性, 就下决心把这几种高可用性解决方案都系统地过了一遍. 一下手, 才知道, 除了枯燥的MSDN文档, 完整讲解HA知识点的文档真心不多, 视频更是找不到, 估计很多朋友都跟我有相同的感受. 好吧, 那我就自己学, 自己配, 自己录, 把知识点及配置的过程都以视频形式记录下来, 以后用到的时候好复习, 有机会发到网上, 其他朋友看到后也更容易接受. 需要提一下的是, 这期间, 刚好有个IT学习网站让帮忙做些数据库视频, 所以中间会有一些他们的Logo, 希望大家不要介意.
Logshipping(日志传送)
Data Mirrroring(镜像)
Replication(复制)
Cluster(群集)
今天上传的是第二种高可用性解决方案: 数据库镜像。 相对于上节课讲到的日志传送而言, 它就可以进行自动故障转移了, 并且根据不同的设定, 数据同步的效率也更高。 不足之处也是有的: 依然是单向更新, 并且从属服务器一般情况下是不可读不可写的。
视频链接:
SQL Server高可用性(三)-数据库镜像
o数据库镜像是如何工作的
创建一个"热"备用数据库
自动管理同步
事务从主数据库被传送到镜像数据库上
可以实施快速故障转移
可以手动也可以自动
客户端被自动重定向
应用在数据库级别上
一个服务器可以有多个镜像端
o数据库服务器角色
主数据库
活动的,读/写数据库, 需要完整恢复模型
镜像数据库
必须在一个独立的数据库实例上, 设定为"正在还原"状态, 可以使用快照以允许只读性质的访问
仲裁服务器(可选的)
被用来建立一个仲裁以帮助进行自动故障转移
o数据库镜像模式
异步模式(高性能)
主服务器上的事务直接提交而不等待先完成镜像,一些事务处理可能会被遗失掉
同步模式
事务处理必须等待镜像之后才能被提交, 确保没有数据丢失
o故障转移形式
高保护性
没有仲裁服务器/手动故障转移
高可用性
使用仲裁服务器/自动故障转移
o应用数据库镜像
数据库镜像配对可以是独立的
每个集都需要自己的端口
可以使用不同的模式
一个服务器可以充当不同数据库镜像配对中的不同角色(主,镜像,监测)
o配置步骤:
备份主数据库
在镜像实例上还原数据库(使用with NORECOVERY)
配置数据库镜像端点和安全性
启用数据库镜像
应用数据库镜像
配置数据库镜像安全向导
可以包括仲裁数据库
配置镜像端点
服务帐号
o设定镜像模式:
异步(高性能):
高可用性: 设定 SAFETY 完整
高保护性: 使用设定仲裁
o使用SQL Server Management Studio测试启动,停止,以及故障转移操作
暂停: 设定伙伴暂停/继续
引发故障转移: 故障转移
强制故障转移:应该被用在紧急状况