SQLServer2008R2数据库镜像部署图⽂教程
概述
“数据库镜像”是⼀种针对数据库⾼可⽤性的基于软件的解决⽅案。其维护着⼀个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中。建议使⽤不同位置的两台服务器来承载。在同⼀时刻,其中⼀台上的数据库⽤于客户端访问,充当“主体服务器”⾓⾊;⽽另⼀台则根据镜像会话的配置和状态,充当热备份服务器,即“镜像服务器⾓⾊”,这两种⾓⾊不是绝对的。
优点
l 增强了数据保护功能
l 提⾼了数据库的可⽤性
l 提⾼了⽣产数据库在升级期间的可⽤性
⼯作⽅式
在“数据库镜像会话”中,主体服务器和镜像服务器是相互通信和协作,并双⽅互补。主体服务器⾓⾊上的
数据库副本为⽣产数据库。数据库镜像会尽快将主体数据库中执⾏的每⼀项操作(如:插⼊、更新和删除等)在镜像数据库中进⾏重新执⾏。这⼀过程是通过将活动事务⽇志记录的流发送到镜像服务器来完成,这可以尽快将⽇志记录按顺序应⽤到镜像数据库中。⽽且数据库镜像是在物理⽇志记录级别执⾏这⼀“重做”操作的。SQL Server 2008 R2(以下简称:SQL08R2)中,为了减少⽹络的负载,主体服务器会将事务⽇志记录压缩后进⾏发送。
运⾏模式
l ⾼性能模式(异步运⾏):事务不需要等待镜像服务器将⽇志写⼊磁盘便可提交,这样可最⼤程度地提⾼性能。这意味着事务不需要等待镜像服务器将⽇志写⼊磁盘便可提交,⽽此操作允许主体服务器在事务滞后时间最⼩的条件下运⾏,但可能会丢失某些数据。
l ⾼安全模式(同步运⾏):当会话开始时,镜像服务器使镜像数据库尽快与主体数据库同步。⼀旦同步了数据库,事务将在双⽅提交,这会延长事务滞后时间。
图1
l 具有故障转移功能的⾼安全性模式(见证服务器):这种模式最⼤的优点就是主体服务器断线时,镜像服务器上的数据库副本会⾃动启⽤,作为⽣产数据库为客户端提供服务。在这⼀结构中见证服务器并不能⽤于数据库,其主要作⽤是通过验证主体服务器是否已启⽤并运⾏来⽀持⾃动故障转移。
注意:只有在与主体服务器断开连接之后,镜像服务器仍和见证服务器保持相互连接时,镜像服务器才启动⾃动故障转移。
见证服务器的作⽤是验证指定的伙伴服务器是否已启动并正常运⾏。如果镜像服务器与主体服务器断开,但见证服务器仍与主体服务器保持连接,则镜像服务器⽆法启动故障转移。所以要实现故障转移的条件是主体服务器与镜像服务器断线,同时也与见证服务器断线;镜像服务器与见证服务器连线的情况。
图2
⾓⾊切换
⾃动切换:在使⽤见证服务器的情况下,数据库必须已经同步,并且见证服务器必须和镜像服务器连接正常。
⼿动切换:在⾼安全性模式下,主体服务器和镜像服务器必须保持互联,并且数据库必须已经同步。
强制服务:在⾼性能模式和不带⾃动故障转移功能的⾼安全性模式下,如果主体服务器出现故障⽽镜像服务器可⽤,则可以强制服务运⾏。这种⽅式可能导致某些数据库丢失。
实现
⼀、条件
SQL08R2的“数据库镜像”必须基于每个使⽤完整恢复模式的数据库来实现。对于SQL08R2不⽀持简单恢复模式和⼤容量⽇志恢复模式的数据库镜像。另外,不能镜像“master”、“msdb”、“model”和“tempdb”等系统数据库。
⼆、环境
测试环境为⼀个LAN内,IP地址是192.168.0.0/24段,域名是punwar。
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)所⽰:
图3
三、基本环境的准备
由于系统平台使⽤WIN08R2,⽽且启⽤了防⽕墙设置,因此为了SQL08R2能够正常⼯作,需要在防⽕墙上打开相应的端⼝。本⽂中介绍数据库镜像需要打开的端⼝是TCP-1433和TCP-5022端⼝。打开⽅式⾮常多,但是此处可以结合基于域的组策略为三台SQL08R2服务器同时进⾏整体配置。
将三台服务器放置在同⼀个OU中(如图4)
图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
图5
此外,对于SQL08R2来讲,默认情况下,SQL服务的TCP/IP访问是禁⽤的,所以需要通过SQL Server Configuration Manager将其启⽤(如图6)。
图6
四、准备数据库
在登录将作为主体服务器的SQL-1服务器(如图7),定位需要镜像的数据库(本⽂中是mydb数据库),右击选择其“属性”(如图8)。
图7
图8
在其属性窗⼝中,选择“选项”页,确认其恢复模式为“完整”(如图9)。
sql sever 2008图9
关闭该窗⼝,然后对该数据进⾏完整备份和事务⽇志备份。选择mydb数据库节点,右击选择任务——备份(如图10)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论