在SQL Server中使用镜像,日志传送,复制和群集的方案有哪些

时间:2009-02-08 12:39:36

标签: sql-server replication cluster-computing mirroring

据我所知,SQL Server提供了4种技术以提高可用性。

我认为这些是主要的使用场景,总结如下: -

1)复制主要适用于在线 - 离线数据同步方案(笔记本电脑,移动设备,远程服务器)。

2)日志传送可用于具有手动切换的故障转移服务器,而

3)数据库镜像是一种自动故障转移技术

4)故障转移群集是一种高级类型的数据库镜像。

我是对的吗?

感谢。

3 个答案:

答案 0 :(得分:25)

故障转移群集是一种可用性技术,可在硬件级别提供冗余,并基于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中搜索每种技术。这就是说如果你有任何具体的问题,我很乐意帮忙,所以请随意给我留言。

干杯,约翰

答案 1 :(得分:2)

在SQL 2008 Enterprise中,还有一些名为Change Data Capture(CDC)的东西,我们在工作的地方成功使用它。

我们有一个过于规范化的数据库,这使得很难获取信息。我们需要在将这些数据复制到另一台服务器以获取报告等的同时更改数据结构。

对我们来说非常好。

答案 2 :(得分:-2)

AFAIK日志传送和复制可能更适合反过来。

日志传送是预定同步的,因此复制将更适合手动切换,因为备份服务器将尽可能是最新的,除非您有任何通信问题(但是,日志传送会有相同的问题)。

离线数据对延迟不像备份服务器那么敏感,但我个人根本不认为需要进行日志传送,我看不出它何时会成为更合适的选择复制(但可能是在sql2005之前没有实现复制)

也许我将复制与镜像混淆,作为一个注释,镜像不会给你自动故障转移,只有HA-cluster为你提供了这个功能,这意味着:

使用至少SQL Server 2005标准,Windows Enterprise和共享数据存储(如SAN)。