SQL Server 2012实施与管理实战指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 选择必要的高可用性和灾难恢复技术

数据处理是绝大多数应用的核心,在生产环境中,数据库总是扮演着非常重要的角色。任何数据库系统问题都有可能会导致整个生产环境的异常进而导致不同程度的经济损失,尤其是那些支持实时生产的系统。例如,支持制造流水线、订单处理、物流运输、消息传递等应用,几十分钟甚至几分钟的宕机时间都有可能对企业造成严重的损失。另外,软件系统在现实生活中始终面临着众多挑战,例如,物理硬件损坏或升级、网络问题、病毒攻击、软件维护和升级等。哪个问题处理得不好都会导致数据库或者数据服务不可用。因此,如何保证数据库系统的连续可用一直是各大数据库软件提供商致力研发的领域。

作为一个定位于企业级应用的数据库管理系统,SQL Server提供了多种技术来帮助用户实现他们系统的连续可用性。在每个SQL的新版本里都会推出更新的技术或是对现有的技术进行改进,所以现在的用户才有了很多种选择组合。了解这些技术的适用场合及各自的优点与局限性,对用户规划和实施自己系统的可持续性方案是至关重要的。

在本章中会介绍什么是“高可用性”和“灾难恢复”,以及SQL Server的四个传统的高可用性和灾难恢复技术:故障转移群集(Cluster)、日志传送(Log Shipping)、复制(Replication)和数据库镜像(Database Mirroring)。这四种技术不仅各自独立,而且可以组合使用以达到不同的效果。在2.6节会对这些技术各自的优点和局限性进行分析与比较,指出它们适合的场景。在实际应用中,这些技术经常被组合使用。在本章的2.6节也会介绍这些技术常见的组合方法,以达到更佳的效果。通过本章的介绍,读者可以了解这四个传统技术的基本概念、适用场景、工作机制,以及常见的故障类型和排错方法。

本章中介绍的内容对各个版本的SQL Server都基本适用。如果你还在使用SQL 2008,这部分内容也适用于你的系统。SQL Server 2012在故障转移群集功能上有了很多改进与完善,这在2.2.5节会有专门的介绍。在第3章里我们会集中讨论SQL Server 2012新增的一个全新解决方案:AlwaysOn。