欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

数据库镜像和日志传送配合完成高可用性以及灾难恢复

程序员文章站 2024-02-19 10:31:46
...

数据库现在已经变成企业的基石,所以需要保证数据库的高可用性。同时也需要防止意外事情导致整个数据中心出现问题(比如地址,水灾等等)。所以对于数据中心高可用性和灾难恢复是同时要考虑。 使用 SQL Server的 数据库镜像和日志传送两项功能可以帮助我们完

数据库现在已经变成企业的基石,所以需要保证数据库的高可用性。同时也需要防止意外事情导致整个数据中心出现问题(比如地址,水灾等等)。所以对于数据中心高可用性和灾难恢复是同时要考虑。

使用SQL Server的数据库镜像和日志传送两项功能可以帮助我们完成上述目标。

情景:A 数据中心有SQL2K8R2两台数据库服务器,B数据中心有SQL28(与A地域不同,为了防止意外导致整个A数据中心不可用),需要配置的数据库为AuditDb

配置如下:

1. 先对SQL2K8AuditDb做完整备份和日志备份。

2. 1创建的备份还原到R2SQL28restorewith norecovery)。

3. Management studio选择AuditDb右键选择属性创建到SQL2K8 AuditDb的镜像(选择监视服务器)。

4. 配置镜像完成后,在属性中选择创建Log shipping到SQL28 AuditDb(选择监视服务器)。

5. 上面的步骤完成后就可以实现高可用性以及灾难后恢复。

当监视服务器发现SQL2K8出现问题后会自动FailoverR2,应用程序就可以自动访问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数据中心 日志传送)。