SQL Server 2000 复制 之 概念学习

复制简介
---------
Microsoft SQL Server 2000 的复制
是在数据库之间对数据和数据库对象进行复制和分发
并进行同步以确保其一致性的一组技术。

使用复制可以将数据分发到不同位置,
通过局域网、使用拨号连接、通过 Internet 分发给远程或移动用户。
复制还能够使用户提高应用程序性能,
根据数据的使用方式物理分隔数据(例如,将联机事务处理 (OLTP) 和决策支持系统分开),
或者跨越多个服务器分布数据库处理。

复制发布模型
------------
复制使用出版业术语表示复制拓扑中的组件,
其中有发布服务器、分发服务器、订阅服务器、发布、项目和订阅。
可借助杂志的概念来帮助理解 Microsoft SQL Server 复制:

杂志出版商(发布服务器)生产一种或多种刊物(发布)
刊物(发布)包含文章(项目)
出版商(发布服务器)可以直接发行(分发)杂志,也可以使用发行商(分发服务器)
订阅者(订阅服务器)接收订阅的刊物(发布)

发布服务器是一种数据库实例,它通过复制向其他位置提供数据。
发布服务器可以有一个或多个发布,
每个发布定义一组要复制的具有逻辑关系的对象和数据。

分发服务器也是一种数据库实例,它起着存储区的作用,
用于复制与一个或多个发布服务器相关联的特定数据。
每个发布服务器都与分发服务器上的单个数据库(称作分发数据库)相关联。
分发数据库存储复制状态数据和有关发布的元数据,
并且在某些情况下为从发布服务器向订阅服务器移动的数据起着排队的作用。
在很多情况下,
一个数据库服务器实例充当发布服务器和分发服务器两个角色。
这称为“本地分发服务器”。
当发布服务器和分发服务器按各自的数据库服务器实例配置时,
把分发服务器称为“远程分发服务器”。

订阅服务器是接收复制数据的数据库实例。
一个订阅服务器可以从多个发布服务器和发布接收数据。
根据所选复制的类型,
订阅服务器还可以将数据更改传递回发布服务器或者将数据重新发布到其他订阅服务器

项目用于识别发布中包含的数据库对象。
一个发布可以包含不同类型的项目,包括表、视图、存储过程和其他对象。
当把表作为项目发布时,可以用筛选器限制发送到订阅服务器的数据的列和行

发布是来自一个数据库的一个或多个项目的集合。
将多个项目分组成一个发布
使得更便于指定一组作为一个单元复制的、具有逻辑关系的数据库对象和数据。

订阅是把发布副本传递到订阅服务器的请求。
订阅 定义将接收的发布和接收的时间、地点。
有两种类型的订阅:推送和请求

复制类型
---------
Microsoft SQL Server 2000 可用的复制类型有三种:
快照复制、事务复制和合并复制

快照复制
快照复制是完全按照数据和数据库对象出现时的状态对其进行复制和分发的过程。
快照复制不要求对更改进行连续的监视,
因为对发布数据所做的更改不会增量地传播到订阅服务器。
订阅服务器用数据集的完全刷新而不是单独的事务来进行更新。
因为快照复制一次复制整个数据集,
所以将数据修改传播到订阅服务器的时间要更长一些。
复制快照发布的频率通常低于其它发布类型。

快照复制提供的选项使您得以筛选已发布的数据,
允许订阅服务器修改复制的数据并将更改传播到发布服务器,
然后传播到其它订阅服务器,并允许在发布时转换数据。

快照复制在下列情况会有帮助:
数据主要是静态数据,不经常更改。
一个时期内允许有已过时的数据复本。
复制小批量数据。
站点经常脱接,并且可接受高滞后时间(数据在一个站点上更新到其在另一个站点上更新之间的时间量)。


事务复制
事务复制将数据的初始快照传播到订阅服务器,
然后,当发布服务器上发生数据修改时,捕获个别的事务并传播到订阅服务器。
SQL Server 2000 监视 INSERT、UPDATE 和 DELETE 语句,
以及对存储过程执行和索引视图的更改。
SQL Server 2000 存储影响已复制的对象的事务,
然后连续或按一定的调度间隔将这些更改传播到订阅服务器。
保留事务边界。
例如,如果在事务中更新 100 行,
则带有所有 100 个数据修改的整个事务将被接受和传播到订阅服务器,
或者一个也未被接受和传播。
当所有改动传播完毕后,全部订阅服务器的值将与发布服务器的值相同。

事务复制提供的选项使您得以筛选已发布数据、
允许订阅服务器中的用户修改复制的数据并将这些更改传播到发布服务器或其它订阅服务器,
并允许在发布时转换数据。

事务复制通常在下列情况下使用:
希望将数据修改传播到订阅服务器,通常在更新发生的几秒内进行。
需要事务是原子事务(或者在订阅服务器上全部应用,或者都不应用)。
订阅服务器通常连接到发布服务器。
应用程序不能承受订阅服务器接收更改时的高延迟。

合并复制
合并复制使各站点得以自主工作(联机或脱机),
并且过一段时间后将多个站点上的数据修改合并为一个统一的结果。
首先在订阅服务器上应用初始快照,
然后 SQL Server 2000 在发布服务器和订阅服务器上跟踪对已发布数据的更改。
数据在调度时间或请求时在服务器之间进行同步。
由于在多个服务器上独立地进行更新(不提交协议),
发布服务器或多个订阅服务器可能更新同一数据。
于是,合并更新时就可能出现冲突。

合并复制包含默认或自定义冲突解决选项,可在配置合并复制时加以定义。
当冲突发生时,合并代理程序唤醒调用冲突解决程序,决定接受和向其它站点传播哪些数据。

合并复制可用的选项包括:
水平和垂直筛选已发布的数据,包含联接筛选和动态筛选,
使用可选同步方,优化同步以改善合并性能,
验证已复制的数据以确保同步,以及使用可连接的订阅数据库。

合并复制适用于下列情况:
多个订阅服务器需要在不同时刻更新数据并将这些更改传播到发布服务器和其它订阅服务器。
订阅服务器需要接收数据、脱机更改数据、然后将更改同步到发布服务器和其它订阅服务器。
应用程序延迟请求为高或低。
站点独立很重要。

配置复制
--------
配置复制是标识企业内的发布服务器、分发服务器和订阅服务器的过程

配置复制的步骤如下:
1.标识分发服务器。
2.在此分发服务器上创建分发数据库。
3.启用将使用此分发服务器的发布服务器。
4.启用发布数据库。
5.启用将接收发布数据的订阅服务器。

posted on 2007-02-06 18:53  freeliver54  阅读(1211)  评论(0编辑  收藏  举报

导航