前 言:
不少状况下,虽然咱们的站点、APIService、Redis等已经作成了分布式架构,可是SQLServer依然仍是单体结构,当出现网络异常、服务器宕机时便存在极大的风险,这时候咱们须要一种SQLServer故障转移技术,当A数据库服务器出现故障的时候,能迅速将请求转移到B数据库服务器上面去,从而保证系统的高可用。
1、准备工做
一、准备一个域帐号
二、准备三台机器,均在同一域环境中,都安装上SQLServer2008实例,最终搭建出来的架构以下图所示
2、基本配置步骤
一、在服务中列表中找到SQL Server ,属性->登陆-> 选择“此帐号”,浏览输入域帐号配置该服务的登陆帐户。
二、在SQLServer->Security->Logins,将域帐号设为sql的登陆帐户sql

三、点击 "Facets",启动 “外围应用配置器”数据库

四、将RemoteDacEnabled设为true服务器

注:在镜像服务器、见证服务器也一样执行以上步骤
3、主服务器备份数据库到镜像服务器
在主服务器对数据库进行备份前,须要对数据库进行设置,将恢复模式设置为“完整”,备份好以后,在镜像服务器中进行还原数据库操做。
4、主服务器、见证者、镜像服务器配置
接下来要配置主服务器、见证者、镜像服务器三者之间的角色关系,
须要使用那个域帐号登陆操做系统进行操做。
点击Configure Security 开始配置向导网络

向导询问:是否包含见证服务器,这里咱们选择Yes架构

主要包含如下安装实例:主服务器实例、镜像服务器实例、见证服务器实例。分布式

点击Next,接下来确认主服务器信息,主服务器就是本机,由于不能修改。测试

Next 下一步选择镜像服务器,点击Connect会弹出镜像服务器SQLServer登陆框,使用准备好的域帐号进行登陆便可。spa

同理操做,选择见证服务器操作系统

配置完成3d

Principal:主服务器
Mirror: 镜像服务器
Witness:见证服务器
点击Star Mirroring 开始镜像工做

从数据库列表能够看到,如今这台电脑已是主服务器的状态了。

如何测试故障转移:
一、数据库->Tasks->Mirror ,点击FailOver能让当前主服务器变成故障状态,主服务器数据库状态就变成了Mirror镜像,镜像服务器就变成了 Principal主服务器;
二、拔网线,拔掉主服务器的网线,见证服务器监测到以后,自动将镜像数据库服务器升级为主服务器。