“数据库镜像”是一种提高 SQL Server 数据库的可用性的解决方案。 镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎 服务器实例上。 通常,这些服务器实例驻留在不同位置的计算机上。 启动数据库上的数据库镜像操作时,在这些服务器实例之间形成一种关系,称为“数据库镜像会话”。其中一个服务器实例使数据库服务于客户端(“主体服务器”), 另一个服务器实例则根据镜像会话的配置和状态,充当热备用或温备用服务器(“镜像服务器”)。 具有自动故障转移功能的高安全性模式要求使用第三个服务器实例,称为“见证服务器”。

 

  • 主体服务器 (principal server)

在数据库镜像中,是指当前作为主体数据库的数据库所属于的伙伴。

  • 镜像服务器 (mirror server)

在数据库镜像配置中,镜像数据库所在的服务器实例。

  • 见证服务器 (Witness)

仅用于高安全性模式,SQL Server 的一个可选实例,它能使镜像服务器识别何时要启动自动故障转移。 与这两个故障转移伙伴不同的是,见证服务器并不能用于数据库。 见证服务器的唯一角色是支持自动故障转移。

 

 

所有数据库镜像会话都只支持一台主体服务器和一台镜像服务器。 下图显示了该配置:

 SQL Server 2012 数据库镜像配置完整篇_第1张图片

 

 

 

下图显示了包含见证服务器的配置:

SQL Server 2012 数据库镜像配置完整篇_第2张图片

 

 

更多关于SQL数据库镜像概念请参考Technet网站,链接如下:

https://technet.microsoft.com/zh-cn/library/ms189852(v=sql.110).aspx

 

*****************************************************************************************************

 

整个SQL Server 2012 数据库镜像的配置分为以下6个小章节

 

  • 环境准备

  • 安装数据库功能

  • 启用TCP/IP协议和RemoteDAC

  • 数据库准备工作

  • 数据库镜像配置

  • 功能验证

 

 *****************************************************************************************

1.  环境准备

1.1   本次Demo使用的服务器清单如下:

No.

主机名

服务器角色

操作系统

IP地址

1

DC01.huangjh.com

AD/DNS

Windows Server 2012 R2

192.168.8.8/24

2

SQL01.huangjh.com

数据库服务器

(主体)

Windows Server 2012 R2

SQL Server Enterprise 2012 SP1

192.168.8.10/24

3

SQL02.huangjh.com

数据库服务器

 (镜像)

Windows Server 2012 R2

SQL Server Enterprise 2012 SP1

192.168.8.20/24

4

SQL03.huangjh.com

数据库服务器

(见证)

Windows Server 2012 R2

SQL Server Enterprise 2012 SP1

192.168.8.30/24

 

 

1.2 准备好一台域控服务器和三台数据库服务器,配置网络并加入域huangjh.com

SQL Server 2012 数据库镜像配置完整篇_第3张图片

 

1.3 三台SQL服务器需要开放1433和5022端口,为了实验方便本次Demo直接手动关闭防火墙

SQL Server 2012 数据库镜像配置完整篇_第4张图片

 

 

2.  安装数据库功能

2.1 在SQL01、SQL02和SQL03三台数据库服务器,打开服务器管理器并根据向导完成.Net framework 3.5的安装

 

SQL Server 2012 数据库镜像配置完整篇_第5张图片

 

SQL Server 2012 数据库镜像配置完整篇_第6张图片

SQL Server 2012 数据库镜像配置完整篇_第7张图片

 2.2在SQL01、SQL02和SQL03三台数据库服务器分别插入并运行SQL Server 2012 Enterprise SP1安装程序,点击“安装”—“全新SQL Server独立安装或向现有安装添加功能”,根据向导完成SQL功能的安装

SQL Server 2012 数据库镜像配置完整篇_第8张图片

2.3 在”功能选择”页面,根据实际应用需求勾选所需的功能,下一步

SQL Server 2012 数据库镜像配置完整篇_第9张图片

2.4 在”服务器配置”页面,修改服务账户为域账户(确保该账户密码永不过期),启动类型为”自动”

SQL Server 2012 数据库镜像配置完整篇_第10张图片

2.5 根据向导在SQL01、SQL02、SQL03完成数据库功能的成功安装

SQL Server 2012 数据库镜像配置完整篇_第11张图片

 

 

 

3.  启用TCP/IP协议和RemoteDAC

3.1 在SQL01、SQL02、SQL03中分别打开SQL Server配置管理器,启用TCP/IP协议

SQL Server 2012 数据库镜像配置完整篇_第12张图片

3.2 在SQL01、SQL02、SQL03中分别打开SQL Server Management Studio,右键实例选择“方面”

SQL Server 2012 数据库镜像配置完整篇_第13张图片

3.3 选择“外围应用配置器”—将属性“RemoteDACEnabled”的值改为“True”

SQL Server 2012 数据库镜像配置完整篇_第14张图片

SQL Server 2012 数据库镜像配置完整篇_第15张图片

SQL Server 2012 数据库镜像配置完整篇_第16张图片

 

 

4.  数据库准备工作(创建、备份和还原数据库)

4.1 在SQL01(主体服务器)右键”数据库”—“新建数据库”

SQL Server 2012 数据库镜像配置完整篇_第17张图片

4.2 在”常规“页面输入数据库名称

SQL Server 2012 数据库镜像配置完整篇_第18张图片

4.3 在”选项”页面确保恢复模式为”完整“

SQL Server 2012 数据库镜像配置完整篇_第19张图片

4.4 右键”DB01”选择”任务“—”备份“

SQL Server 2012 数据库镜像配置完整篇_第20张图片

4.5 备份类型选择”完整“,点击”确定“

SQL Server 2012 数据库镜像配置完整篇_第21张图片

4.6 备份成功完成后点击”确定“

SQL Server 2012 数据库镜像配置完整篇_第22张图片

4.7 选择备份类型为”事务日志“,点击”确定“完成对事务日志的备份

SQL Server 2012 数据库镜像配置完整篇_第23张图片

4.8 将备份文件拷贝到镜像服务器SQL02.huangjh.com对应的路径,默认备份路径为

“C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup”

SQL Server 2012 数据库镜像配置完整篇_第24张图片

4.9 在镜像服务器SQL02.huangjh.com打开SQL Server Management Studio,右键“数据库”选择“创建数据库”

SQL Server 2012 数据库镜像配置完整篇_第25张图片

4.10 输入数据库名称,点击“确定”(此数据库名称必须与SQL01中创建的数据库名称保持一致)

SQL Server 2012 数据库镜像配置完整篇_第26张图片

 4.11 右键新创建的数据库“DB01”--选择“任务”—“还原”—“数据库”

SQL Server 2012 数据库镜像配置完整篇_第27张图片

4.12 选择“设备”,点击右边“…”

SQL Server 2012 数据库镜像配置完整篇_第28张图片

4.13 点击”添加”

SQL Server 2012 数据库镜像配置完整篇_第29张图片

4.14 选择刚才从SQL01复制的备份文件,点击”确定”

SQL Server 2012 数据库镜像配置完整篇_第30张图片

4.15 点击“确定”

SQL Server 2012 数据库镜像配置完整篇_第31张图片

4.16 勾选要还原的备份集

SQL Server 2012 数据库镜像配置完整篇_第32张图片

 4.17 在“选项”页面勾选“覆盖现有数据库”,恢复状态选择“RESTORE WITH NORECOVERY”,取消勾选“还原前进行结尾日志备份”,点击“确定”

SQL Server 2012 数据库镜像配置完整篇_第33张图片

4.18 点击“确定”

SQL Server 2012 数据库镜像配置完整篇_第34张图片

4.19 数据库DB01显示”正在还原…“

SQL Server 2012 数据库镜像配置完整篇_第35张图片

 

 

 

5.  数据库镜像配置

5.1 在主体服务器SQL01.huangjh.com右键“DB01”选择“任务”—“镜像”

SQL Server 2012 数据库镜像配置完整篇_第36张图片

5.2 点击“配置安全性”

SQL Server 2012 数据库镜像配置完整篇_第37张图片

5.3 下一步

SQL Server 2012 数据库镜像配置完整篇_第38张图片

5.4 选择“是”,下一步

SQL Server 2012 数据库镜像配置完整篇_第39张图片

5.5 勾选“见证服务器实例”,下一步

SQL Server 2012 数据库镜像配置完整篇_第40张图片

5.6 下一步

SQL Server 2012 数据库镜像配置完整篇_第41张图片

5.7 点击“浏览更多”

SQL Server 2012 数据库镜像配置完整篇_第42张图片

5.8 输入镜像服务器名称SQL02,点击”连接”

SQL Server 2012 数据库镜像配置完整篇_第43张图片

 5.9 选择镜像服务器实例SQL02,下一步

SQL Server 2012 数据库镜像配置完整篇_第44张图片

5.10 同样选择见证服务器实例SQL03,下一步

SQL Server 2012 数据库镜像配置完整篇_第45张图片

5.11 输入实例服务账户huangjh\administrator,下一步

SQL Server 2012 数据库镜像配置完整篇_第46张图片

5.12 点击“完成”

SQL Server 2012 数据库镜像配置完整篇_第47张图片

5.13 成功配置后,点击”关闭”

SQL Server 2012 数据库镜像配置完整篇_第48张图片

5.14 点击“开始镜像”

SQL Server 2012 数据库镜像配置完整篇_第49张图片

 

5.15 状态为“已同步:数据库已完全同步”,点击“确定”

SQL Server 2012 数据库镜像配置完整篇_第50张图片

5.16 在主体服务器SQL01看到的数据库状态为”主体,正在同步”

SQL Server 2012 数据库镜像配置完整篇_第51张图片

5.17 在镜像服务器SQL02看到的数据库状态为”正在还原…”

SQL Server 2012 数据库镜像配置完整篇_第52张图片

 

 

 

 

6.  功能验证

6.1 在主体服务器SQL01右键数据库“DB01”选择“任务”—“启动数据库镜像监视器”

SQL Server 2012 数据库镜像配置完整篇_第53张图片

6.2 在此页面可看到数据库镜像的同步状态等

SQL Server 2012 数据库镜像配置完整篇_第54张图片

6.3在主体服务器SQL01右键数据库“DB01”选择“属性”

SQL Server 2012 数据库镜像配置完整篇_第55张图片

6.4 在选择页“镜像”点击“故障转移”

SQL Server 2012 数据库镜像配置完整篇_第56张图片

 

6.5 点击“是”

SQL Server 2012 数据库镜像配置完整篇_第57张图片

6.6 此时主体服务器为SQL02,镜像服务器SQL01,说明手动故障转移成功

SQL Server 2012 数据库镜像配置完整篇_第58张图片

 

6.7 将SQL02(此时的主体服务器)关机,此时自动将主体故障转移到SQL01中

SQL Server 2012 数据库镜像配置完整篇_第59张图片

6.8 此时又回到了原先的主体服务器SQL01,镜像服务器SQL02,状态为”没有连接:无法连接镜像服务器实例或见证服务器实例”

SQL Server 2012 数据库镜像配置完整篇_第60张图片

6.9 将SQL02开机后恢复正常后,状态为”已同步:数据库已完全同步”,说明自动故障转移成功。

SQL Server 2012 数据库镜像配置完整篇_第61张图片

 

~~~以上是整个SQL Server 2012 数据库镜像配置的分享~~~