SQL Server复制允许数据库管理员在整个组织内的多个服务器之间分发数据。 您可能希望在组织中实施复制,原因很多,例如:
- 负载平衡 。 复制允许您将数据传播到多个服务器,然后在这些服务器之间分发查询负载。
- 离线处理 。 复制支持在并非始终连接到网络的计算机上处理数据库中的数据。
- 冗余 。 通过复制,您可以构建一个故障切换数据库服务器,随时准备好处理负载。
任何复制场景都有两个主要组件:
- 发布商将数据提供给其他服务器。 给定的复制方案可能有一个或多个发布者。
- 订阅者是希望在数据被修改时从发布者接收更新的数据库服务器。
没有什么能够阻止单一系统在这两种能力中发挥作用。 实际上,这通常是大规模分布式数据库系统的设计。
SQL Server支持复制
Microsoft SQL Server支持三种类型的数据库复制。 本文对这些模型中的每一个提供简要介绍,而未来的文章将对其进行更详细的探讨。 他们是:
- 快照复制按其名称暗示的方式进行操作。 发布者只需要获取整个复制数据库的快照并与订阅者共享。 当然,这是一个非常耗时且耗费资源的过程。 由于这个原因,大多数管理员不会对频繁更改的数据库定期使用快照复制 。 有两种情况下常用快照复制:首先,它用于很少更改的数据库。 其次,它用于设置基线来建立系统之间的复制,同时使用事务或合并复制来传播未来的更新。
- 事务复制为定期更改的数据库提供了更灵活的解决方案。 通过事务复制,复制代理可以监控发布者对数据库的更改,并将这些更改发送给订阅者。 这种传输可以立即或定期进行。
- 合并复制允许发布者和订阅者独立地对数据库进行更改。 两个实体都可以在没有活动网络连接的情况下工 重新连接时,合并复制代理检查两组数据上的更改并相应地修改每个数据库。 如果更改发生冲突,代理将使用预定义的冲突解决算法来确定适当的数据。 合并复制通常由笔记本电脑用户和其他不能连续连接到发布者的用户使用。
这些复制技术中的每一种都具有有用的用途,并且非常适合特定的数据库场景。
如果您正在使用SQL Server 2016,请根据您的复制需求选择您的版本。 当涉及到复制支持时,每个版本都有不同的功能:
- 仅支持订阅者:支持 Express或Express的工具或高级服务 , Web版本提供有限的复制功能,只能用作复制客户端。
- 完整的发行商和订阅者支持 : 标准版和企业版提供全面支持,企业版还包括Oracle发布,对等事务复制和事务复制作为可更新订阅。
正如您无疑已经认识到的那样,SQL Server的复制功能为数据库管理员提供了一个在企业环境中管理和扩展数据库的强大工具。