ms sql基础教程:合并复制_703精品

ms sql基础教程:合并复制_703精品

ID:8394461

大小:41.00 KB

页数:2页

时间:2018-03-25

ms sql基础教程:合并复制_703精品_第1页
ms sql基础教程:合并复制_703精品_第2页
资源描述:

《ms sql基础教程:合并复制_703精品》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MSSQL基础教程:合并复制合并复制的概述也许读者对下面的实际例子并不陌生,在某一大型企业的分销系统中,销售经理或一些销售骨干人员经常要外出处理业务,将签订的合同通过手边的笔记本电脑传递到总部销售信息数据库。在这一例子中有两个主要的特;征任何销售经理和销售骨干都可以修改销售信息数据库;只有在进行数据传递时才将源数据库与目标数据库相连。在SQLServer中,合并复制为这一情况提供了较好的解决方案。合并复制作为一种从出版者向订购者分发数据方法允许出版者和订购者对出版数据进行修改,而不管订购者与出版者是相互连接或断开,然后当

2、所有(或部分)节点相连时便合并发生在各个节点的变化。在合并复制中,每个节点都独立完成属于自己的任务,不像事务复制和快照复制那样订购者与出版者之间要相互连接,完全不必连接到其它节点,也不必使用MSDTC来实现两阶段提交就可以在多个节点对出版进行修改,只是在某一时刻才将该节点与其它节点相连(此时所指的其它节点并不一定指所有其它节点),然后将所发生的数据变化复制到这些相连节点的数据库中。如果在复制时因更新同一数据而发生冲突,则数据的最终结果并不总是出版者修改后的结果,也不一定包含在某一节点上所做的所有修改。因为各节点都有自主权

3、,都可以对出版物(复制数据)进行修改,这样在按照所设定的冲突解决规则对冲突处理之后,数据库最终的结果往往是包含了多个节点的修改。可以看出尽管最后所有的数据库都有相同的结果集,但这个结果是在多个节点共同参与下形成的,是多个修改合并到目标数据库的结果。因此合并复制并不维护事务的一致。与创建快照复制和事务复制出版物相比,当创建一个合并出版物时,SQLServer会对数据库以及出版表进行以下处理(见图16-54):(1)SQLServer把出版表中的每一行都加上一个标识列,这样在表的多个拷贝间能惟一标识出该行。如果基本表上已存在

4、具有ROWGUIDCOL属性的标识列,则SQLServer将自动把其作为复制表的行标识,如果没有,则或在创建出版物过程中这些表被激活时,或在SQLServerAgent第一次为该出版物提供服务时,SQLServer将向表中添加一个具有ROWGUIDCOL属性的rowguid。(2)SQLServer添加一个触发器来跟踪每一行或列数据的变化,并把捕捉到的变化存储到几个系统表中,或在创建出版物过程中复制表被激活时,或在SQLServerAgent第一次为出版物提供服务时,将创建这些跟踪触发器。(3)SQLServer把用户跟

5、踪的系统表添加到数据库,来执行冲突的检测,解决和记录。MSmerger_contentsMSmerger_tombstone系统表用来跟踪对出版物中数据的UPDATE、DELETE、INSERTS操作。16.5.2合并复制的执行步骤合并复制的执行需要快照代理和合并代理。其主要步骤是:(1)与快照复制、事务复制中快照代理的作用一样,合并复制的快照代理在开始复制之前也要完成二项任务;创建快照文件(同步集合)将存储在分发者的复制目录下;在出版数据库记录同步作业。合并代理将初始快照文件分发给订购者,从而完成订购初始化(出版数据库

6、与订购数据库同步)。(2)当在某一节点(订购者)对出版物中表的某一行进行修改时,触发器会触发,并将该行的生成列generationcolumn设置为零。当合并代理执行时,它把所有生成列为零的合成一组或多组,凡是新的生成列值比原来的大,则用新值替换旧值。(3)在进行同步处理时,合并代理把所有生成列值为零的列(被修改的列)复制到所有其它订购者。(4)在目标数据库,从节点送来的数据与已存在数据进行合并,合并代理来进行冲突检测,如果未发生冲突则接收复制数据;如果发生冲突,合并代理根据缺省或所设定的冲突解决规则来解决冲突。查看全套

7、"MSSQL入门基础教程"

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。