首页 > 开发 > SQL Server > 正文

SQL Server 2008 R2数据库镜像部署图文教程

2019-10-19 21:58:48
字体:
来源:转载
供稿:网友

概述

“数据库镜像”是一种针对数据库高可用性的基于软件的解决方案。其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中。建议使用不同位置的两台服务器来承载。在同一时刻,其中一台上的数据库用于客户端访问,充当“主体服务器”角色;而另一台则根据镜像会话的配置和状态,充当热备份服务器,即“镜像服务器角色”,这两种角色不是绝对的。

优点

l 增强了数据保护功能

l 提高了数据库的可用性

l 提高了生产数据库在升级期间的可用性

工作方式

在“数据库镜像会话”中,主体服务器和镜像服务器是相互通信和协作,并双方互补。主体服务器角色上的数据库副本为生产数据库。数据库镜像会尽快将主体数据库中执行的每一项操作(如:插入、更新和删除等)在镜像数据库中进行重新执行。这一过程是通过将活动事务日志记录的流发送到镜像服务器来完成,这可以尽快将日志记录按顺序应用到镜像数据库中。而且数据库镜像是在物理日志记录级别执行这一“重做”操作的。SQL Server 2008 R2(以下简称:SQL08R2)中,为了减少网络的负载,主体服务器会将事务日志记录压缩后进行发送。

运行模式

l 高性能模式(异步运行):事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。这意味着事务不需要等待镜像服务器将日志写入磁盘便可提交,而此操作允许主体服务器在事务滞后时间最小的条件下运行,但可能会丢失某些数据。

l 高安全模式(同步运行):当会话开始时,镜像服务器使镜像数据库尽快与主体数据库同步。一旦同步了数据库,事务将在双方提交,这会延长事务滞后时间。

SQL Server 2008 R2数据库镜像部署图文教程

图2

角色切换

自动切换:在使用见证服务器的情况下,数据库必须已经同步,并且见证服务器必须和镜像服务器连接正常。

手动切换:在高安全性模式下,主体服务器和镜像服务器必须保持互联,并且数据库必须已经同步。

强制服务:在高性能模式和不带自动故障转移功能的高安全性模式下,如果主体服务器出现故障而镜像服务器可用,则可以强制服务运行。这种方式可能导致某些数据库丢失。

实现

一、条件

SQL08R2的“数据库镜像”必须基于每个使用完整恢复模式的数据库来实现。对于SQL08R2不支持简单恢复模式和大容量日志恢复模式的数据库镜像。另外,不能镜像“master”、“msdb”、“model”和“tempdb”等系统数据库。

二、环境

测试环境为一个LAN内,IP地址是192.168.0.0/24段,域名是punwar.cn。

DC:192.168.0.110/24——域控制器和DNS服务器;

SQL-1:192.168.0.111/24——SQL08R2主体服务器;

SQL-1:192.168.0.112/24——SQL08R2镜像服务器;

SQL-1:192.168.0.113/24——SQL08R2见证服务器。

拓扑(如图3)所示:

SQL Server 2008 R2数据库镜像部署图文教程

图4

通过DC的组策略管理器,为其OU单独创建一个GPO,并定位其“计算机配置”——“管理模板”——“网络/网络连接/Windows防火墙/域配置文件”,启用“定义入站端口例外”(如图5),分别定义两条:

1433:TCP:192.168.0.0/24:enabled:SQL Server

5022:TCP:192.168.0.0/24:enabled:SQL Server DBM

SQL Server 2008 R2数据库镜像部署图文教程

图6

四、准备数据库

在登录将作为主体服务器的SQL-1服务器(如图7),定位需要镜像的数据库(本文中是mydb数据库),右击选择其“属性”(如图8)。

SQL Server 2008 R2数据库镜像部署图文教程

图8

在其属性窗口中,选择“选项”页,确认其恢复模式为“完整”(如图9)。

SQL Server 2008 R2数据库镜像部署图文教程

在备份窗口中选择备份类型为“完整”,并指定目标备份包的路径(如图11),点击“确定”进行备份。

SQL Server 2008 R2数据库镜像部署图文教程

图12

将备份包复制到镜像服务器SQL-2上(如图13),并且从SQL管理控制台登录到SQL-2(如图14)。

SQL Server 2008 R2数据库镜像部署图文教程

图14

创建与主体服务器上需要镜像的数据库相同名称的数据库——mydb(如图15)。同时,数据库文件放置的位置应该相同,各属性也应该配置相同。

SQL Server 2008 R2数据库镜像部署图文教程

图16

选择“原设备”,通过浏览添加从SQL-1复制的备份包(如图17)。

SQL Server 2008 R2数据库镜像部署图文教程

图18

点击“确定”,完成数据库还原操作(如图19)

SQL Server 2008 R2数据库镜像部署图文教程

图20

SQL Server 2008 R2数据库镜像部署图文教程

图22

在“选择要配置的服务器”页面中,可以不勾选“见证服务器实例”(如图23),因为见证服务器可以在之后来进行配置。

SQL Server 2008 R2数据库镜像部署图文教程

图24

单击下一步,指定镜像服务器,在下拉菜单中选择“浏览更多”(如图25),在“连接到服务器”对话框中指定登录到SQL-2(如图26)。

SQL Server 2008 R2数据库镜像部署图文教程

图26

仍然需要指定镜像服务器的侦听器端口和端点名称,这里的端口仍然使用默认的TCP-5022(如图27)。

SQL Server 2008 R2数据库镜像部署图文教程

图28

单击下一步,显示摘要,确认无误,点击“完成”(如图29)进行端点配置。

SQL Server 2008 R2数据库镜像部署图文教程

图30

完成数据库同步后,镜像状态会显示为“已同步:数据库已完全同步”(如图31)。由此,主体服务器和镜像服务器的部署已经完成。

SQL Server 2008 R2数据库镜像部署图文教程

 

图32

 

在SQL08R2中启用远程管理员连接的方法如下:

右击服务器节点,选择“方面”(如图33)

SQL Server 2008 R2数据库镜像部署图文教程

 

图34

 

SQL Server 2008 R2数据库镜像部署图文教程

图36

在SQL-1上打开mydb的“镜像”配置窗口,确认运行模式为“高安全”模式,然后点击“故障转移”按钮(如图37)。系统提示是否进行转移(如图38),单击“是”进行转移。

SQL Server 2008 R2数据库镜像部署图文教程

图38

成功完成操作后,在SQL-1上数据库mydb的状态变为了“镜像,已同步/正在还原……”(如图39);

SQL Server 2008 R2数据库镜像部署图文教程

图40

七、实现自动故障转移

自动故障转移需要配置见证服务器,由于此前在实现主体/镜像服务器的过程中,略过了见证服务器的配置,所以,现在需要手动重新配置见证服务器。

在主体服务器SQL-1上,右击数据库mydb,选择任务——镜像(如图41),打开“镜像”配置窗口,选择“配置安全性”按钮(如图42)

SQL Server 2008 R2数据库镜像部署图文教程

图42

将安全性配置为包括见证服务器实例(如图43)

SQL Server 2008 R2数据库镜像部署图文教程

图44

单击下一步,确认主体服务器配置(如图45),

SQL Server 2008 R2数据库镜像部署图文教程

图46

SQL Server 2008 R2数据库镜像部署图文教程

图48

单击下一步,指定域管理员作为主体/镜像/见证的服务账户(如图49)

SQL Server 2008 R2数据库镜像部署图文教程

图50

成功完成配置后,在“镜像”配置窗口中会显示“见证服务器”信息,并自动选中“带自动故障转移功能的高安全(同步)”(如图51)。

SQL Server 2008 R2数据库镜像部署图文教程

图52

而此时,在SQL-2上查看mydb状态将自动变为“主体,已断开连接”(如图53)。

SQL Server 2008 R2数据库镜像部署图文教程

图54

完成建表和插入数据后,拔掉SQL-1的网线,模拟故障。然后,登录镜像服务器SQL-2,定位到mydb数据库,展开可以看到镜像同步过来的t1表,打开表可以看到表中的数据也是同步过来的(如图55)。

SQL Server 2008 R2数据库镜像部署图文教程

图55

由此可以看出,“数据库镜像”技术可以成功对数据进行热备,使SQL08R2的可用性得以大大提高。此外,需要注意的是,出现故障后的服务器访问定位需要在SQL语句级别进行设计,在此将不再进行叙述。

参考文章:

《微软技术资源库SQL Server 2008 R2数据库镜像》

本文出自 “胖哥技术堂” 博客

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表