数据库镜像和日志传送配合完成高可用性以及灾难恢复
数据库现在已经变成企业的基石,所以需要保证数据库的高可用性。同时也需要防止意外事情导致整个数据中心出现问题(比如地址,水灾等等)。所以对于数据中心高可用性和灾难恢复是同时要考虑。 使用 SQL Server的 数据库镜像和日志传送两项功能可以帮助我们完
数据库现在已经变成企业的基石,所以需要保证数据库的高可用性。同时也需要防止意外事情导致整个数据中心出现问题(比如地址,水灾等等)。所以对于数据中心高可用性和灾难恢复是同时要考虑。
使用SQL Server的数据库镜像和日志传送两项功能可以帮助我们完成上述目标。
情景:A 数据中心有SQL2K8和R2两台数据库服务器,B数据中心有SQL28(与A地域不同,为了防止意外导致整个A数据中心不可用),需要配置的数据库为AuditDb。
配置如下:
1. 先对SQL2K8的AuditDb做完整备份和日志备份。
2. 将1创建的备份还原到R2和SQL28(restorewith norecovery)。
3. 在Management studio选择AuditDb右键选择属性创建到SQL2K8 AuditDb的镜像(选择监视服务器)。
4. 配置镜像完成后,在属性中选择创建Log shipping到SQL28 AuditDb(选择监视服务器)。
5. 上面的步骤完成后就可以实现高可用性以及灾难后恢复。
当监视服务器发现SQL2K8出现问题后会自动Failover到R2,应用程序就可以自动访问R2,从而减少Down机时间(应用程序DBConnection中需要做配置:http://technet.microsoft.com/en-us/library/ms175484.aspx)。当整个数据中心出现问题时,我们仍然可以将数据中心B的服务器变为可用(Logshipping会有一定的数据损失取决于设置的备份还原设置)。
好消息是在SQL Server 2012中用Always On就可以实现上述功能,不需要使用两种功能组合。
其实集群,数据库镜像,日志传送配合使用可以产生多种组合解决方案,基本上可以达到0数据损失,99.999%的高可用性。(解决方案比如:A数据中心集群+B数据集群镜像,A数据集群 镜像+B数据集群日志传送,A数据集群集群+B数据中心 日志传送)。