据我所知,SQL Server 提供了 4 种技术来提高可用性。
我认为这些是主要的使用场景,总而言之:-
1)复制将主要适用于在线离线数据同步场景(笔记本电脑、移动设备、远程服务器)。
2) 日志传送可用于具有手动切换的故障转移服务器,而
3) 数据库镜像是一种自动故障转移技术
4) Failover Clustering 是一种高级的数据库镜像。
我对吗 ?
谢谢。
据我所知,SQL Server 提供了 4 种技术来提高可用性。
我认为这些是主要的使用场景,总而言之:-
1)复制将主要适用于在线离线数据同步场景(笔记本电脑、移动设备、远程服务器)。
2) 日志传送可用于具有手动切换的故障转移服务器,而
3) 数据库镜像是一种自动故障转移技术
4) Failover Clustering 是一种高级的数据库镜像。
我对吗 ?
谢谢。
故障转移群集是一种在硬件级别提供冗余的可用性技术,它建立在 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 中搜索每种技术。也就是说,如果您有任何具体疑问,我很乐意为您提供帮助,因此请随时联系我。
干杯,约翰
在 SQL 2008 Enterprise 中,还有一个叫做变更数据捕获 (CDC) 的东西,我们在我工作的地方成功使用了它。
我们有一个过度规范化的数据库,这使得获取信息变得太难了。我们需要在将这些数据复制到另一台服务器以获取报告等的同时更改数据结构。
它对我们非常有效。
相反,AFAIK 日志传送和复制可能更适合。
日志传送是计划同步,因此复制更适合手动切换,因为备份服务器将尽可能保持最新,除非您有任何通信问题(但是,日志传送也会有同样的问题)。
离线数据不像备份服务器那样对延迟敏感,但我个人认为根本不需要日志传送,我看不出它何时会成为复制的更合适的替代方案(但可能是在 sql2005 之前没有实现复制)
也许我将复制与镜像混淆了,并且作为说明,镜像不会为您提供自动故障转移,只有 HA-cluster 为您提供该功能,这意味着:
至少使用 SQL Server 2005 标准、Windows Enterprise 和共享数据存储(如 SAN)。