【发布时间】:2010-06-29 02:42:32
【问题描述】:
我的任务是为我们的一个系统设置灾难恢复。主服务器在佛罗里达州,辅助服务器在德国。该应用程序是我公司内部的一个全局应用程序。
我不确定是否应该使用日志传送或镜像。我读到的是镜像会对我的应用程序的性能产生不利影响。这是真的?这是否意味着任何时候用户修改或保存记录都需要更长的时间才能得到肯定的响应。
谢谢
【问题讨论】:
标签: sql-server sql-server-2005 mirroring log-shipping
我的任务是为我们的一个系统设置灾难恢复。主服务器在佛罗里达州,辅助服务器在德国。该应用程序是我公司内部的一个全局应用程序。
我不确定是否应该使用日志传送或镜像。我读到的是镜像会对我的应用程序的性能产生不利影响。这是真的?这是否意味着任何时候用户修改或保存记录都需要更长的时间才能得到肯定的响应。
谢谢
【问题讨论】:
标签: sql-server sql-server-2005 mirroring log-shipping
根据您选择的操作模式,镜像可能会对性能产生不同的影响。如果您正在镜像,您可以使用三种操作模式:高保护(有和没有自动故障转移)和高性能。
基本上,这些相当于同步和异步镜像。使用高保护,您的应用程序将在考虑事务完成之前等待镜像完成。在高性能模式下,您的应用程序不会等待镜像提交。事实上,在任何时候都不能保证所有最近的事务都会保存在镜像的事务日志中。
镜像的主要考虑因素之一是网络的往返时间。更高的延迟将对您的性能产生更大的影响。您需要根据您的特定恢复(和故障转移)要求权衡性能成本。
如果您还没有阅读过,请阅读Database Mirroring in SQL Server 2005 和 Database Mirroring Best Practices and Performance Considerations.
【讨论】:
镜像将使主环境和 DR 环境在 100% 的时间内保持同步,从而消除数据丢失的可能性。但是,正如您所指出的,这会对性能产生不利影响,但在不能容忍任何数据丢失的情况下(例如金融应用程序)可能是必要的。传送日志并将它们应用到 DR 站点的备用数据库不会对用户响应时间产生同样的影响,但会打开一个可能发生数据丢失的小段时间。
【讨论】:
镜像是同步操作的(等到日志提交到DB),通常部署在良好的网络连接(LAN)上
日志传送是异步操作的(不会等待日志提交到数据库),通常部署在 MPLS / VPN 或慢速网络上
所以为了你的目标,你应该使用日志传送
【讨论】: