Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

关于设置副本优先级

时 间:2008-07-03 08:29:47
作 者:UMVsoft整理   ID:43  城市:江阴
摘 要:关于设置副本优先级
正 文:

副本 (副本:属于一个副本集并且可与该集合中其他副本同步的一个数据库副本。在一个副本中对复制的表的数据所做的更改会发送并应用到其他副本。)优先级影响发生同步 (同步:通过交换每个成员中所有已更新的记录和对象,来更新一个副本集的两个成员的过程。当每个副本集内的更改都相互应用于另一个副本集时,两个副本集成员就实现了同步。)冲突时如何确定对记录的更改。

Access 不同版本中优先级的差异

在 Microsoft Access 2000 及更高版本中,副本集 (副本集:共享相同的数据库设计和唯一副本集标识符的“设计母版”和所有副本。)中的副本在创建时就指定了一个优先级,发生同步冲突时,优先级最高的副本获胜,即被保存。如果优先级相同,则其 ReplicaID 属性最低的副本获胜。在 Microsoft Access 95 和 97 中,同步冲突的解决方法是使用一条规则:获胜方记录是更改最频繁的记录。

确定副本优先级

对于每个副本都会指定一个优先级数,优先级数的范围是 0 到 100,100 为最高优先级。当将数据库设置为可同步复制时,副本的默认优先级是 90。后续副本的默认优先级等于中心 (中心副本:一种全局副本,副本集内所有副本的更改都与它同步。中心副本充当了父副本。)副本优先级的 90%。局部副本 (局部副本:该副本与其中心副本或全局副本交换数据,但不与副本集内的其他副本交换数据。)和匿名副本 (匿名副本:Access 数据库中的一种特殊类型副本,在其中不能跟踪单个用户。如果您希望在 Internet 环境下让许多用户下载副本,匿名副本就特别有用。)的优先级通常设为 0。如果局部副本和匿名副本的更改与全局 (全局副本:在该副本中,更改受到完全跟踪并可与集合中的任何全局副本进行交换。全局副本也可以与具有任何以它为中心的局部副本或匿名副本交换更改。)中心副本发生冲突,则这些更改将会自动丢失。如果局部副本或匿名副本向中心副本发送了无冲突的更改,中心副本就会成为更改的所有者。

Microsoft Access 支持副本集 (副本集:共享相同的数据库设计和唯一副本集标识符的“设计母版”和所有副本。)内每条记录的历史优先级。在同步期间,如果发生冲突,则会对历史优先级设置进行评估,然后优先级最高的记录获胜。若要理解此优先级方案,请先看一下一个有关“设计母版” (设计母版:副本集内唯一可在其中对数据库结构进行更改(更改能传至其他副本)的成员。),副本 A(优先级为 100)的示例。副本 A 复制为两个副本:副本 B 和副本 C,副本 B 的优先级是 90,副本 C 的优先级是 95。

 

在简单的情况下,优先级最高的更改获胜。假设所有三方在开始时都同意由副本 A 创建记录的第一版,并且随后没有发生其他更新。如果副本 A 和副本 B 同时更新记录,则在冲突时副本 A 的更新获胜,因为它的优先级最高。

在最后一次同步后如果对同一条记录进行多个更改,则在所有更改过的副本中,具有最高历史优先级的副本用于确定哪个副本获胜。例如,假设副本 A 生成了第二版,然后将其发送给副本 B。副本 B 生成了第三版。然后将其发送回副本 A,此时要进行合并。假设副本 C 也生成了一个第二版,并且与副本 A 相互协调。如果要从自原始记录更改后发生的更改中选择历史优先级最高的更改(副本 A 具有的副本优先级为 100,副本 C 拥有行版本的优先级为 95),则与副本 C 所做的更改比较,副本 A 和副本 B 的联合更改的优先级更高。可是,由于副本 A 是在副本 B 之前创建的,因此将保存副本 A 所做的更改。这种决策规则的一个好处在于冲突解决机制不会撤消在优先级最高的副本上所做的更改。

 



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助