【SQL开源代码栏目提醒】:以下是网学会员为您推荐的SQL开源代码-SQLServer 2008 R2镜像构建 - 数据库,希望本篇文章对您学习有所帮助。
源码网整理,www.codepub.com,下载源码就到源码网!3PSQL Server 2008 R2 数据库镜像部署概述“数据库镜像”是一种针对数据库高可用性的基于
软件的解决
方案。
其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的
SQL Server 数据库实例中。
建议使用不同位置的两台服务器来承载。
在同一时刻,其中一台上的数据库用于客户端访问,充当“主体服务器”角色;而另一台则根 据镜像会话的配置和状态,充当热备份服务器,即“镜像服务器角色”,这两种角色不是绝对的。
优点l 增强了数据保护功能l 提高了数据库的可用性l 提高了生产数据库在升级期间的可用性工作方式在“数据库镜像会话”中,主体服务器和镜像服务器是相互
通信和协作,并双方互补。
主体服务器角色上的数据库副本为生产数据库。
数据库镜像会尽快将主 体数据库中执行的每一项操作(如:插入、更新和删除等)在镜像数据库中进行重新执行。
这一过程是通过将活动事务日志记录的流发送到镜像服务器来完成, 这可 以尽快将日志记录按顺序应用到镜像数据库中。
而且数据库镜像是在物理日志记录级别执行这一“重做”操作的。
SQL Server 2008 R2(以下简称:
SQL08R2)中,为了减少网络的负载,主体服务器会将事务日志记录
压缩后进行发送。
运行模式l 高性能模式(异步运行):事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。
这意味着事务不需要等待镜像服务器将日志写入磁盘便可提交,而此操作允许主体服务器在事务滞后时间最小的条件下运行,但可能会丢失某些数据。
l 高安全模式(同步运行):当会话开始时,镜像服务器使镜像数据库尽快与主体数据库同步。
一旦同步了数据库,事务将在双方提交,这会延长事务滞后时间。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图1l 具有故障转移功能的高安全性模式(见证服务器):这种模式最大的优点就是主体服务器断线时,镜像服务器上的数据库副本会自动启用,作为生产数据库为客户端 提供服务。
在这一结构中见证服务器并不能用于数据库,其主要作用是通过验证主体服务器是否已启用并运行来支持自动故障转移。
注意:只有在与主体服务器断开连接之后,镜像服务器仍和见证服务器保持相互连接时,镜像服务器才启动自动故障转移。
见证服务器的作用是验证指定的伙伴服务器是否已启动并正常运行。
如果镜像服务器与主体服务器断开,但见证服务器仍与主体服务器保持连接,则镜像服务 器无法启动故障转移。
所以要实现故障转移的条件是主体服务器与镜像服务器断线,同时也与见证服务器断线;镜像服务器与见证服务器连线的情况。
图2源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!角色切换自动切换:在使用见证服务器的情况下,数据库必须已经同步,并且见证服务器必须和镜像服务器连接正常。
手动切换:在高安全性模式下,主体服务器和镜像服务器必须保持互联,并且数据库必须已经同步。
强制服务:在高性能模式和不带自动故障转移功能的高安全性模式下,如果主体服务器出现故障而镜像服务器可用,则可以强制服务运行。
这种方式可能导致某些数据库丢失。
实现一、条件
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)所示:源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图3三、基本环境的准备由于
系统平台使用 WIN08R2,而且启用了防火墙设置,因此为了
SQL08R2 能够正常
工作,需要在防火墙上打开相应的端口。
本文中介绍数据库镜 像需要打开的端口是 TCP-1433 和 TCP-5022 端口。
打开方式非常多,但是此处可以结合基于域的组策略为三台
SQL08R2 服务器同时进行整体配 置。
将三台服务器放置在同一个 OU 中(如图 4)源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图4通过 DC 的组策略管理器,为其 OU 单独创建一个 GPO,并定位其“
计算机配置”——“管理模板”——“
网络/网络连接/Windows 防火墙/域配置文件”,启用“定义入站端口例外”(如图 5),分别定义两条:1433:TCP:192.168.0.0/24:enabled:
SQL Server5022:TCP:192.168.0.0/24:enabled:
SQL Server DBM源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图5此外,对于
SQL08R2 来讲,默认情况下,
SQL 服务的 TCP/IP 访问是禁用的,所以需要通过
SQL Server Configuration Manager 将其启用(如图 6)。
图6四、准备数据库在登录将作为主体服务器的
SQL-1 服务器 , (如图 7) 定位需要镜像的数据库(本文中是 mydb 数据库),右击选择其“属性”(如图 8)。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图7图8在其属性窗口中,选择“选项”页,确认其恢复模式为“完整”(如图 9)。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图9关闭该窗口,然后对该数据进行完整备份和事务日志备份。
选择 mydb 数据库节点,右击选择任务——备份(如图 10)。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!在备份窗口中选择备份类型为“完整”,并指定目标备份包的路径(如图 11),点击“确定”进行备份。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!相同步骤,打开备份窗口,选择备份类型为“完整”,并指定目标备份包的路径(如图 12),点击“确定”进行备份。
这里为了方便可以选择与完整备份相同的备份包。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 12将备份包复制到镜像服务器
SQL-2 上(如图 13),并且从
SQL 管理控制台登录到
SQL-2(如图 14)。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 13图 14创建与主体服务器上需要镜像的数据库相同名称的数据库——mydb(如图 15)。
同时,数据库文件放置的位置应该相同,各属性也应该配置相同。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 15在
SQL-2 上对新建的数据库进行还原操作, 即将从
SQL-1 上对数据库的备份针对
SQL-2 上新建的 mydb 进行还原操作。
右击 mydb 数据库选择任务——还原——数据库(如图 16)打开还原数据库窗口。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 16选择“原设备”,通过浏览添加从
SQL-1 复制的备份包(如图 17)。
图 17源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!再选择页中选择“选项”, 勾选“覆盖现有数据库”,同时选择“不对数据库执行任何操作,不回滚未提交的事务。
可以还原其他事务日志。
(RESTORE WITHNORECOVERY)”(如图 18)。
图 18点击“确定”,完成数据库还原操作(如图 19)图 19五、配置主体/镜像服务器在
SQL-1 上,右击 mydb,选择任务——镜像(如图 20),打开镜像数据库配置窗口,点击“配置安全性”按钮(如图 21)。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 20源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 21在“包括见证服务器”页中选择“是”(如图 22),这样可以在之后实现自动故障转移。
单击下一步。
图 22在“选择要配置的服务器”页面中,可以不勾选“见证服务器实例”(如图 23),因为见证服务器可以在之后来进行配置。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 23点击下一步,指定主体服务器监听端口和端点名称(如图 24),默认的端口为TCP-5022 端口,端点名称自定义。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 24单击下一步,指定镜像服务器,在下拉菜单中选择“浏览更多”(如图 25),在“连接到服务器”对话框中指定登录到
SQL-2(如图 26)。
源码网教程下载,www.codepub.com 源码网整理,www.codepub.com,下载源码就到源码网!图 25图 26源码网教程下载,www.codepub.com