当前位置:  开发笔记 > 编程语言 > 正文

镜像与复制

如何解决《镜像与复制》经验,为你挑选了3个好方法。

如何决定是否在SQL Server 2005中选择复制或镜像以同时提供数据可用性和性能.


为了更具体地说明我的SQL服务器体系结构,我有一个2个节点的主动/主动集群,用于负载平衡,我有另一个服务器用于复制,它只用于报告,我想确定哪个技术最好提供可用性和性能,事务复制或数据库镜像?



1> Mitch Wheat..:

它取决于您需要的待机可用性级别(热,暖,冷).

SQL Server中的各种机制提供数据库级冗余,例如备份/还原,日志传送和数据库镜像(在SQL Server 2005及更高版本中).数据库镜像是提供受保护数据库的实时精确副本的唯一机制,可保证零数据丢失(镜像同步时).

数据库镜像以同步或异步模式运行.在异步操作下,事务提交无需等待镜像服务器将日志写入磁盘,从而最大限度地提高性能.

本MS白皮书使用数据库镜像提供高可用性,涵盖了一系列场景.

您应该阅读此TechNet文章,数据库镜像最佳实践和性能注意事项.



2> Bashar Kokas..:

事实证明,数据库镜像可以防止数据被直接访问,镜像数据只能通过数据库快照访问,因此快照数据的报告不会是最新的,所以我将使用数据库事务复制来提供高可用性和负载平衡.



3> Karsten..:

我不知道SQL Server 2005,但对于一般的SQL用法,我总是更喜欢复制.您必须在应用程序中单独读取/写入(对于MySQL,有MySQL代理可以代理方式为您执行此操作),但获得可扩展的系统.(读取到从站,写入主站)

镜像意味着主 - 主复制,这会导致并发/事务问题.即使在主-主场景,你应该永远不会发送写查询到不同的服务器.根据项目的大小,接下来的步骤是添加更多从站,然后添加另一个主站+其从站以实现冗余.

master --- master
  |          |
slave       slave
  |          |
slave       slave
  |          |
slave       slave

即使这样,您也只会向一个主服务器发送写入查询,但是如果主服务器出现故障,您可以自动将第二个主服务器提升到新的写入查询目标.


在MS-SQL中镜像是*不是*主 - 主复制.一次只能写入两个数据库中的一个,并且那些插入/更新/删除事务也会提交到另一个服务器的日志.
推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有