SQL Server数据库实用技术(106)
时间:2007-11-09 来源:不详 作者:迈克DB
16.1.2 SQL Server 的复制代理
(1) 快照代理
快照代理Snapshot Agent 在分发者上创建并存储快照文件,在分发数据库中记录 出版数据库和订购数据库之间的同步信息。快照代理运行在分发者服务器上并与出版者相 连接,每一个出版物都有自己的快照代理。
(2) 日志阅读代理
日志阅读代理(Log Reader Agent) 将出版者事务日志中标有复制的事务移至分发数 据库。使用事务复制的每一个出版数据库都有自己的日志阅读代理。日志阅读代理运行在 分发者服务器上。
(3) 分发代理
分发代理(Distribution Agent) 能够将存储在分发数据库中的事务或快照分发到订购 者服务器。如果事务出版物或快照出版物被设置为只有创建了推订购即立即在出版者和订 购者之间同步,则在分发者上它们各自都会有一个分发代理;否则事务出版物和快照出版 物将共享一个分发代理。合并出版物没有分发代理。
(4) 合并代理
合并代理(Merge Agent) 被用来移动、合并在快照代理创建初始快照之后所发生的 递增修改,每一个合并出版物都有自己的合并代理。当使用推订购合并出版物时,合并代 理运行在出版者上;当使用拉订购合并出版物时,合并代理运行在订购者上。快照出版物 和事务出版物没有合并代理。 copyright dedecms
(5) 队列阅读代理
在快照复制或事务复制时如果选择了queued updating 选项或immediate updating with queued updating as a failover 选项,则需要使用队列阅读代理。
队列阅读代理是运行在分发者上的多线程代理,它主要负责从分发者消息队列中读到 消息并将包含在消息中的事务应用到出版者。
16.1.3 SQL Server 的复制类型
SQL Server 提供了三种复制类型:快照复制(Snapshot Replication)、事务复制 (Transactional Replication)、合并复制(Merge Replication)。 可以在实际应用中使用一 种或多种复制类型。每一种复制类型都在不同程度上实现数据的一致性和节点的自主性, 因此对复制类型的选择主要依赖于应用系统对数据一致性、节点自主性的要求以及现有的 网络资源情况(如网宽和网络传输速度)。在分别介绍事务复制、快照复制和合并复制的 三节中我们将讨论如何选择合适的复制类型。下面扼要介绍一下这三种复制类型。
(1) 快照复制
如其名字所言,快照复制意指在某一时刻给出版数据库中的出版数据照相,然后将数 据复制到订购者服务器。快照复制实现较为简单,其所复制的只是某一时刻数据库的瞬时 数据,复制的成功与否并不影响本地数据库(出版数据库或订购数据库)的一致性。在数 据变化较少的应用环境中常使用快照复制,如复制不经常被修改的静态表。
dedecms.com
(2) 事务复制
与快照复制不同事务日志复制的内容不是数据而是多条DELETE UPDATE INSERT 语句或存储过程。在使用事务复制时,修改总是发生在出版者上(设置了立即更新订购者 选项的事务复制可在订购者处修改复制数据),订购者只以读取数据的方式将修改反映到 订购数据库,所以能够避免复制冲突。如果数据更新频率较大且希望修改尽快复制到订购 者常使用事务复制。
(3) 合并复制
合并复制允许订购者对出版物进行修改,并将修改合并到目标数据库(可以是出版数 据库也可以是订购数据库)。各个节点可独立工作而不必相互连接,可对出版物进行任何 操作而不必考虑事务的一致性。如果在合并修改时发生冲突,则复制按照一定的规则或自定义的冲突解决策略来对冲突进行分析并接受冲突一方的修改。
文章评论
共有位Admini5网友发表了评论 查看完整内容