据我所知,SQL Server提供了4种提高可用性的技术。
我认为这些是主要的使用场景,总结如下:
1)复制主要适用于在线-离线数据同步方案(笔记本电脑、移动设备、远程服务器)。
2)日志传送可用于具有手动切换的故障转移服务器,而
3)数据库镜像是一种自动故障转移技术
4)故障转移群集是一种高级类型的数据库镜像。
我说的对吗?
谢谢。
发布于 2009-02-08 16:56:06
故障转移群集是一种在硬件级别提供冗余的可用性技术,它构建在Windows群集技术之上,即它并非特定于SQL Server。
例如,服务器A上的处理器发生故障。幸运的是,服务器A是SQL Server集群的一部分,因此服务器B在几秒钟内接管了提供SQL Server服务的工作。所有这一切都是自动发生的,并且对于集群所服务的数据库用户和/或应用程序是透明的。
数据库镜像和集群之间的主要区别在于,SQL集群在实例级别提供冗余,而数据库镜像在数据库级别提供冗余。
下面的链接提供了这两种技术之间的比较,您可能会发现它们很有用。
http://msdn.microsoft.com/en-us/library/ms191309(SQL.90).aspx
日志传送更多地被认为是一种冗余技术。
例如,它可用于提供主环境的完整副本,通常用作可手动联机的热备用环境。这可用于为您的备份策略提供额外的冗余。日志传送还可用于通过在备用位置/服务器上创建生产数据库的只读副本,从主服务器卸载报告。
复制是一种非常多样化的技术,可用于满足许多不同的场景,其中的选择将决定所实现的特定复制类型。
例如,通过将应用程序的工作负载分散到多个服务器,即分布式处理体系结构,可以使用合并复制来支持分布式处理。
合并复制通常需要相对了解其环境的应用程序。还必须考虑冲突解决等技术,以确保整个集成环境中的数据一致性。
事务性复制的使用方式与日志传送类似,但是您可以限制复制到订阅服务器的特定对象。如果只需要表的一个子集用于报告目的,这将非常有用。
我希望这能帮你把事情弄清楚一点。您可以在SQL Server联机丛书中找到有关每种技术的大量文档,也可以在Google中搜索每种技术。也就是说,如果你有任何具体的问题,我很乐意为你提供帮助,所以请随时给我留言。
干杯,约翰
发布于 2009-02-08 12:53:43
在SQL2008Enterprise中,还有一个叫做变更数据捕获(CDC)的东西,我们在我工作的地方成功地使用了它。
我们有一个过度规范化的数据库,这使得获取信息变得非常困难。我们需要同时更改数据结构,因为我们将此数据复制到另一台服务器以进行报告等操作。
它对我们来说工作得非常好。
发布于 2009-02-08 13:34:39
相反,AFAIK日志传送和复制可能更适合。
日志传送是计划的同步,因此复制更适合于手动切换,因为备份服务器将尽可能保持最新状态,除非您有任何通信问题(但是,日志传送也会有相同的问题)。
离线-数据不像备份服务器那样对延迟敏感,但就我个人而言,我根本看不到日志传送的需求,我看不出它何时会是复制的更合适的替代方案(但可能是复制在sql2005之前没有实现)
也许我混淆了复制和镜像,需要注意的是,镜像不能提供自动故障转移,只有HA-cluster才能提供该功能,这意味着:
至少使用SQL server 2005标准、Windows Enterprise和共享数据存储(如SAN)。
https://stackoverflow.com/questions/525637
复制相似问题