SQL Server复制的步骤:第1级-介绍SQL Server复制
级别1:介绍SQL Server复制
主要条目:repi -li-ca-tion
发音:\ re-pl ?——“ka-sh吗?nFunction:名词
日期:14世纪
单词replication来自拉丁语单词replicare,意思是重复。它描述复制或复制的过程(www.merriam-webster.com)。
SQL Server中的复制就是这样做的;它复制或复制数据。任何时候需要创建数据的副本,或复制对数据的更改时,都可以使用复制。该副本可以在相同的数据库中创建,也可以在单独服务器的远程位置创建。
副本可以连续地与源数据保持同步,或者按预定的时间间隔同步。单向同步和双向同步是可能的。复制甚至可以用来保持多个数据集彼此同步。
在第一个级别中,我将介绍基本复制组件,并描述它们如何协同工作以允许您复制数据和数据更改。我们还将查看设置简单复制场景的详细示例。
复制组件
SQL Server复制由三个组件组成:发布服务器、分发服务器和订阅服务器。这些组件作用于在发布和订阅中定义的协议。
协议
对于应该复制的每个SQL Server对象,都需要定义一个复制条目。每一篇协议对应一个SQL Server对象,或者一个对象的子集。最常被复制的对象是表、视图和存储过程。要获得可复制对象的完整列表,请查看在线图书中的发布数据和数据库对象。协议的属性决定了协议是否包含整个对象,或者对象的筛选子集是否构成复制的协议。通过一些限制,可以在一个对象上创建多个协议。
出版
逻辑上属于一起的一组协议可以组合成一个出版物。发布中定义了适用于该发布中的所有协议的选项。发布定义的主要选项是要使用的复制类型。
出版商
使发布可用于复制的SQL Server实例称为发布程序。
发布者监视所有协议的更改,并将这些更改的信息提供给分发服务器。
经销商
分发服务器是SQL Server实例,它跟踪所有订阅者和所有已发布的更改,并确保每个订阅者在每次更改时都得到通知。大多数更改都是在分布数据库中跟踪的。分发服务器可以是一个单独的SQL Server实例,但是分发服务通常与发布服务器运行在同一台机器上。
订阅者
订阅者是通过订阅接收所有发布信息的SQL Server实例。
订阅
订阅是发布的对应项。订阅定义要接收发布中发布的更新的服务器(订阅服务器)。每个订阅在一个发布和一个订阅之间创建一个链接。订阅有两种类型:推订阅和拉订阅。在推送订阅中,分发服务器直接更新订阅服务器数据库中的数据。在pull订阅中,订阅者定期询问分发服务器是否有可用的新更改,然后更新数据本身。
复制类型
SQL Server中有三种主要的复制类型。它们是快照复制、合并复制和事务复制。
快照复制
快照复制在每次运行时创建复制对象及其数据的完整副本。它使用SQL Server的BCP实用程序将每个表的内容写入快照文件夹。快照文件夹是共享文件夹位置,在启用复制时必须在分发服务器上设置该位置。复制设置中的每个参与者都需要访问快照文件夹。
每次运行快照复制时,所有内容都是从零开始重写的,因此它具有高带宽和存储需求。默认情况下,所有其他类型的复制都使用一个复制快照,仅在初始设置期间将所有订阅者与分发服务器同步。
事务性复制
顾名思义,事务性复制是在事务的基础上工作的。每个提交的事务都被扫描,以查找应用于复制文章的更改。更改的扫描由日志读取器代理完成,该代理读取发布者数据库的事务日志。如果有影响已发布对象的更改,这些更改将被记录到分发数据库中的分发服务器上。从那里,数据发向用户。
事务复制允许接近实时同步,并且只在发布服务器上留下很小的内存占用。虽然有几个选项允许双向数据移动,但事务复制最初设计为只以一种方式工作。
合并复制
合并复制从一开始就设计为允许在发布服务器和订阅服务器端对数据进行更改。合并复制还允许断开连接的场景,其中订阅服务器可能在白天没有连接。该订阅者将在晚上重新连接后同步。如果一行同时在两个不同的位置得到更新,就会发生冲突。合并复制附带几个内置选项来解决这些冲突。
设置事务复制
本节将逐步介绍如何设置包含单个复制表的事务复制。
要设置复制,需要配置分发服务器、发布服务器和订阅服务器。可以使用T-SQL脚本完全设置和控制复制。