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