而至从SQL Server 2005 SP1发布后,另一个“数据库镜像”概念引入,使其更加的提高了灵活性及可用性。
数据库镜像工作过程:就是把SQL事务日志传输复制的过程(一份事务日志在两个SQL 实例中各进行写入到数据文件.MDF),在微软的说话是“预写事务日志”机制。其目的就是为了提高性能与可恢复性(如:事务日志回滚),而在微软的其他产品此套工作机制还应用在DHCP、DNS、AD、Exchange的数据库当中。
而今天所共享的是一套微软推荐的最高级别的SQL Server高可用方法:
拓扑如下:
总共6台服务器。
前提条件:
基本的双节点Windows Cluster 与SQL Cluster真的太简单,且网上的文档也太多。在此,不作过多介绍。以下步骤均是在已创建好SQL Cluster前提下实现镜像数据库方法,其实与3节点的镜像数据库配置方法一样。
setp1:
在主体群集创建Database
设备恢复模式为(完整)
备份刚刚创建的数据库,当然,你也可以在备份前,前创建一个备份设备(推荐做法)
在此,我选择为备份到磁盘。
备份完成。
选择“还原数据库”
源设备来自文件(添加),刚刚复制过来的备份文件。
注意:此处一定要选择"NORECOVERY",这就是我刚刚提到的预写日志的功能。
恢复成功,但此时数据是不能被访问的,因为我选择的是NORECOVERY,就是说此数据库还可以还原其他时间点的事务日志。功能很强大。
恢复后的数据库应为“正在还原”状态,说明是正常的。
切换到主体Cluster数据库:
点击“配置安全性”
选择主体服务器名(SQL Cluster名称)
选择镜像服务器名(SQL Cluster名称)
选择见证服务器名(SQL Cluster名称)
输入服务账户
点击“开始镜像”此时,镜像服务开始工作。
此时,你会发现刚刚数据库,现显示为已同步。
回到镜像服务器上查看时:
再模拟主体服务器故障:
镜像服务器正在转移......
镜像服务器已完成转移状态。
查看镜像服务器刚刚在主体服务器上创建的表A\B:
创建的表都已成功复制过来。
以上操作,如果熟悉T-SQL语句,均可实现。
以上为整个配置过程。相信有此坚固的DATA STORE做后端,能给整个CITRIX环境起到更为高的可用性及可靠性。