2009-02-08 103 views
23

据我所知,SQL Server提供了4种技术来提高可用性。在SQL Server中使用镜像,日志传送,复制和集群的场景

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

1)复制将主要适合于在线离线数据同步场景(膝上型计算机,移动设备,远程服务器)。

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

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

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

我是对的吗?

谢谢。

+2

优秀的答案。有一件事我想补充..现在已经快到2013年了。女士建议不要使用镜像。它最终会消失。另外,镜像仅限于一个合作伙伴。 – 2012-12-23 02:44:37

回答

24

故障转移群集的可用性技术,在硬件层面提供冗余,是建立在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中的每种技术。这就是说如果你有任何具体的问题,我会很乐意帮助,所以随时放弃我。

干杯,约翰

2

2008年SQL企业也有一些所谓的更改数据捕获,我们成功地使用,我的工作(CDC)。

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

它对我们非常有效。

+0

我最近跟一位SQL Server 2005的用户交谈过,他也表示他们的数据库过于规范化,他们将数据复制到报表服务器。数据库不是应该处理事务和报告吗?为什么我需要投资2台服务器并进行复制?我认为这是一个开销。 – Chakra 2009-02-08 17:55:15

+2

@Chakra这不是一个规则,只是当你的服务器不能很好地执行生产工作负载和报告的数据库时才使用它。 – 2010-11-12 12:22:33

-2

AFAIK日志传送和复制可能更适合其他方式。

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

离线数据不延误作为备份服务器为敏感,但我个人真的不看到日志传送需要的一切,我无法看到它的时候曾经将是一个更适合替代复制(但它可能是在sql2005之前没有实现复制)

也许我在复制与镜像混淆,并且作为一个说明,镜像不会给你自动故障转移,只有HA群集给你该功能,这意味着:

使用ATLEAST SQL Server 2005标准,Windows企业和共享数据存储(如SAN)。