SQL Server 的复制过程
Microsoft SQL Server 数据库在复制、镜像和故障转移集群方面有丰富的特性。所有这些策略和配置的目的只有一个,那就是在服务器崩溃和无法提供服务的时候,以不同的方法,保证用户的应用程序始终可以获取到数据;或只是为了在更多地点复制数据,以提高可访问性和可用性。
本文暂不讨论故障转移集群或始终在线可用性组,这两者都属于数据库镜像过程,其主要目的是保证在服务停止或服务器崩溃时能够快速恢复可用性。本文将重点介绍数据库复制过程及其设置方法。通过设定这些设置信息,用户可以将所有数据自动实时地复制到更多的SQL Server中。
SQL Server 的 4 种复制过程:
- 事务复制
- 合并复制
- 快照复制
- 对等复制
对等复制解决方案以其高可用性适用于水平扩展,可以管理更多的SQL server实例,即节点。基于事务复制,对等复制几乎可以实时地将数据变化广播给所有节点。需要将读取操作进行水平扩展的应用程序可以把来自客户端的读取过程分配给多个节点,以便更快地读取数据。这是一种高效、防崩溃的复制过程,当其中一个或多个节点不可用时,不会对整个系统的功能和可用性造成影响。
但是,对等复制仅适用于SQL Server Enterprise版本,与其他版本相比,其授权成本较高。而合并复制这种方式,从成本角度来讲,更适合中小企业,其配置性能也非常稳定灵活。
以下介绍合并复制的操作方法,首先讲解合并复制所需的设置内容,然后介绍如何简单地完成设置。
假设有3个SQL Server 2014运行在不同的网络中,物理位置相距较远。我们最终需要获得的功能机制如下图所示:
首先需要设定一个主域名服务器(发布者)和一个从域名服务器(订阅者)。所有的订阅服务器都需要将其数据与发布服务器中的数据进行同步(发送和接收),同时以此实现所有订阅服务器之间的同步。
因此,第一步需要确定这3个服务器中哪一个充当发布者,在参照后续步骤对其进行设置之前,启动 SQL Server Agent 服务,将其设置为自动模式。