SQL Server复制,是Microsoft SQL Server的一个软件包,。它是用来传输从一个实例到另一个实例过渡状态的服务器之间的数据。
SQL Server复制可以
是单向或双向的 是调度或实时传输 移动数据到一个或多个实例复制拓扑
复制拓扑由三个服务器组成——订阅者、发布者和分发器。订阅者是接收数据的服务器。发布者是拥有一套提供给订阅者的初步数据的服务器。分发器是包含许多设置的服务器。当数据在发布者和订阅者之间传输时,它也保存数据。
目前有三个不同的复制技术,它们分别是快照复制、合并复制和事务复制。
快照复制是一个单向性数据传输。当更新数据从发行者向订阅者传输时,所有数据都是一次发送的。
合并复制是一个双向复制,它可以实时或通过调度来传输数据。合并复制是唯一可用的双向复制。
事务复制是从发行者向订阅者单向的。数据可以调度或实时发送。当数据向订阅者传输时,所有数据变化都以发行者设计的顺序进行处理。
当配置复制时,我们可以选择复制的对象。每个复制的数据对象都称为物件。物件可以是表格、视图、存储过程、函数、规则、数据类型等等。在选择数据库对象时,虽然并没有明确要求,但建议选择所有依赖的对象。同时,虽然也不要求选择子表,但必须确保可以复制表所使用的任意用户自定义数据类型以及规则。虽然数据类型可以手动传输到订阅者,但是它们必须存在于删除服务器,否则表格建立将无法实现。
当配置物件时,我们可以在物件配置过滤器。这些过滤器都是有效的WHERE子句,它们告诉SQL Server复制只传输表中的数据子集。我们可以任意使用表中的字段作为垂直过滤器的一部分。我们也可以使用水平过滤器。水平过滤器是一种打比方的说法,其实指的是:WHERE子句应用于正在进行数据复制的物件,并且只有与WHERE子句相匹配的数据才会被传输到订阅者。