⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6234.htm

📁 说明: column_list列出要添加数据的列名。在给表或视图中部分列添加数据时
💻 HTM
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>MS SQL基础教程:合并复制 - 编程入门网</title>
<meta name="keywords" content="MS SQL基础教程:合并复制">
<meta name="description" content="MS SQL基础教程:合并复制">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="/images/style.css" rel="stylesheet" type="text/css" />
<script src="/js1/head.js"></script>
</head>
<body leftmargin="0" topmargin="0" bgcolor="#efefef" oncopy=nocopy()>
<TABLE width="760" cellPadding="0" cellSpacing="0"  bgcolor="#eff7fe" align="center">
  <TR>
    <TD><a href="/index.htm"><img src="/images/logo1.gif" width="150" height="60" border="0"></a></TD>
    <TD width="470" align="right"><script src="/js1/top.js"></script></TD>
    <TD width="125" align="center"><script src="/js1/topsy.js"></script></TD>
  </TR>
</TABLE>
<table width="760" border="0" cellpadding="1" cellspacing="0" class="bklan" align="center">
  <tr>
    <td align="center" bgcolor="#eff7fe" height="24"> | <a href='/Programming/index.htm'>编程语言</a> | <a href='/webkf/index.htm'>web开发</a> | <a href='/data/index.htm'>数据库</a> | <a href='/Network/index.htm'>网络技术</a> | <a href='/OS/index.htm'>操作系统</a> | <a href='/Servers/index.htm'>服务器</a> | <a href='/web/index.htm'>网页设计</a> | <a href='/Design/index.htm'>图形设计</a> | <a href='/Office/index.htm'>办公软件</a> | <a href='/soft/index.htm'>常用软件</a> | <a href='/shadu/index.htm'>杀毒频道</a> | <a href='/PC/index.htm'>学电脑</a> |</td>
  </tr>
</table>
<table cellspacing="0" cellpadding="0" width="760" align="center" bgcolor="#ffffff" border="0">
  <tr>
    <td align="center"><script src="/js1/content1.js"></script></td>
  </tr>
</table>
<table width="760" border="0" cellpadding="0" cellspacing="0" align="center">
  <tr>
    <td height="25" background="/templets/img/31bg3.gif" align="left" class="guidet">&nbsp;→ 当前位置:<a href='http://www.bianceng.cn/'>首页</a>→<a href='/data/index.htm'>数据库</a>→<a href='/data/SQLServer/index.htm'>SQL Server</a>→<a href='/data/SQLServer/jc/index.htm'>SQL Server教程</a>→正文</td>
  </tr>
</table>
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
  <tr>
    <td valign="top" class="guidet" width="595"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="ct">
  <tr>
    <td align="center" valign="middle" class="til"><h3>&nbsp;&nbsp; MS SQL基础教程:合并复制 </h3>
      发布时间:2007-12-25 来源:网络/责编:编程入门 作者:佚名<br />
      <script src="/js1/468.js"></script>
    </td>
  </tr>
  <tr>
    <td style="font-size:14px" align="left" class="til"><table border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><script src="/js1/300.js"></script></td>
</tr>
</table><p>  合并复制的概述</p>
<p>  也许读者对下面的实际例子并不陌生,在某一大型企业的分销系统中,销售经理或一些销售骨干人员经常要外出处理业务,将签订的合同通过手边的笔记本电脑传递到总部销售信息数据库。在这一例子中有两个主要的特;征任何销售经理和销售骨干都可以修改销售信息数据库;只有在进行数据传递时才将源数据库与目标数据库相连。在SQL Server 中,合并复制为这一情况提供了较好的解决方案。</p>
<p>   合并复制作为一种从出版者向订购者分发数据方法允许出版者和订购者对出版数据进行修改,而不管订购者与出版者是相互连接或断开,然后当所有(或部分)节点相连时便合并发生在各个节点的变化。在合并复制中,每个节点都独立完成属于自己的任务,不像事务复制和快照复制那样订购者与出版者之间要相互连接,完全不必连接到其它节点,也不必使用MS DTC 来实现两阶段提交就可以在多个节点对出版进行修改,只是在某一时刻才将该节点与其它节点相连(此时所指的其它节点并不一定指所有其它节点),然后将所发生的数据变化复制到这些相连节点的数据库中。如果在复制时因更新同一数据而发生冲突,则数据的最终结果并不总是出版者修改后的结果,也不一定包含在某一节点上所做的所有修改。因为各节点都有自主权,都可以对出版物(复制数据)进行修改,这样在按照所设定的冲突解决规则对冲突处理之后,数据库最终的结果往往是包含了多个节点的修改。</p>
<p>  可以看出尽管最后所有的数据库都有相同的结果集,但这个结果是在多个节点共同参与下形成的,是多个修改合并到目标数据库的结果。因此合并复制并不维护事务的一致。</p>
<p>  与创建快照复制和事务复制出版物相比,当创建一个合并出版物时,SQL Server 会对数据库以及出版表进行以下处理(见图16-54):</p>
<p>  (1) SQL Server 把出版表中的每一行都加上一个标识列,这样在表的多个拷贝间能惟一标识出该行。如果基本表上已存在具有ROWGUIDCOL 属性的标识列,则 SQL Server 将自动把其作为复制表的行标识,如果没有,则或在创建出版物过程中这些表被激活时,或在SQL Server Agent 第一次为该出版物提供服务时, SQL Server 将向表中添加一个具有ROWGUIDCOL 属性的rowguid。</p>
<p>  (2) SQL Server 添加一个触发器来跟踪每一行或列数据的变化,并把捕捉到的变化存储到几个系统表中,或在创建出版物过程中复制表被激活时,或在SQL Server Agent 第一次为出版物提供服务时,将创建这些跟踪触发器。</p>
<p>  (3) SQL Server 把用户跟踪的系统表添加到数据库,来执行冲突的检测,解决和记录。MSmerger_contents MSmerger_tombstone 系统表用来跟踪对出版物中数据的UPDATE、 DELETE、 INSERTS 操作。</p>
<p>  <img onclick="get_larger(this)" alt="" src="/upimg/071226/11b612N622042RT.gif" /></p>
<p>  16.5.2 合并复制的执行步骤</p>
<p>  合并复制的执行需要快照代理和合并代理。其主要步骤是:</p>
<p>  (1) 与快照复制、事务复制中快照代理的作用一样,合并复制的快照代理在开始复制之前也要完成二项任务;创建快照文件(同步集合)将存储在分发者的复制目录下;在出版数据库记录同步作业。合并代理将初始快照文件分发给订购者,从而完成订购初始化(出版数据库与订购数据库同步)。</p>
<p>  (2) 当在某一节点(订购者)对出版物中表的某一行进行修改时,触发器会触发,并将该行的生成列generation column 设置为零。当合并代理执行时,它把所有生成列为零的合成一组或多组,凡是新的生成列值比原来的大,则用新值替换旧值。</p>
<p>  (3) 在进行同步处理时,合并代理把所有生成列值为零的列(被修改的列)复制到所有其它订购者。</p>
<p>  (4) 在目标数据库,从节点送来的数据与已存在数据进行合并,合并代理来进行冲突检测,如果未发生冲突则接收复制数据;如果发生冲突,合并代理根据缺省或所设定的冲突解决规则来解决冲突。</p>
<p>  <a href="/data/SQLServer/jc/200712/6352.htm">查看全套&quot;MS SQL入门基础教程&quot;</a></p><center><br /><script src="/js1/4682.js"></script></center>
      <p>上一篇:<a href='/data/SQLServer/jc/200712/6233.htm'>MS SQL基础教程:事务复制</a>  &nbsp; 下一篇:<a href='/data/SQLServer/jc/200712/6235.htm'>MS SQL基础教程:复制选项的规划</a> </p></td>
  </tr>
  <tr>
    <td align="left" style="font-size:14px;" height="25"><IMG src="/images/t0.gif" width="12" height="12" align=absMiddle><strong>相关文章</strong><br /><table width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6233.htm">MS SQL基础教程:事务复制</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6235.htm">MS SQL基础教程:复制选项的规划</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6232.htm">MS SQL基础教程:快照复制</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6236.htm">MS SQL基础教程:复制监视器</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6231.htm">MS SQL基础教程:配置复制</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6237.htm">MS SQL基础教程:代理服务-配置SQL Server A</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6230.htm">MS SQL基础教程:复制的概述和术语</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6238.htm">MS SQL基础教程:SQL操作员</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6229.htm">MS SQL基础教程:角色管理</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6239.htm">MS SQL基础教程:sql作业</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6228.htm">MS SQL基础教程:权限管理</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6240.htm">MS SQL基础教程:sql警报</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6227.htm">MS SQL基础教程:数据库用户</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6241.htm">MS SQL基础教程:数据转换服务基本概念</a><br/>
	</td>
	</tr>
	</table>
</td>
  </tr>
</table>
</td>
    <td width="165" valign="top" class="guideb"><script src="/js1/1601.js"></script><table width="100%" border="0" cellpadding="0" cellspacing="0" valign="top">
      <tr>
        <td height="25" align="center" background="/templets/img/31bg3.gif"><strong>阅读排行</strong></td>
      </tr>
      <tr>
        <td>·<a href="/data/SQLServer/jc/200712/6352.htm">MS SQL Server入门教程</a><br/>
·<a href="/data/SQLServer/jc/200807/10974.htm">MS SQL基础教程:存储过程</a><br/>
·<a href="/data/SQLServer/jc/200705/1189.htm">sql语言教程</a><br/>
·<a href="/data/SQLServer/jc/200807/10973.htm">MS SQL基础教程:创建存储</a><br/>
·<a href="/data/SQLServer/jc/200705/1182.htm">sql字符串函数</a><br/>
·<a href="/data/SQLServer/jc/200712/6301.htm">MS SQL基础教程:SQL Serve</a><br/>
·<a href="/data/SQLServer/jc/200712/6302.htm">MS SQL基础教程:SQL Serve</a><br/>
·<a href="/data/SQLServer/jc/200712/6314.htm">MS SQL基础教程:数据类型</a><br/>
·<a href="/data/SQLServer/jc/200705/1188.htm">Sql语言基础</a><br/>
·<a href="/data/SQLServer/jc/200712/6311.htm">MS SQL基础教程:Transact-</a><br/>
·<a href="/data/SQLServer/jc/200712/6312.htm">MS SQL基础教程:SQL变量</a><br/>
·<a href="/data/SQLServer/jc/200705/1184.htm">sql基本语句</a><br/>
·<a href="/data/SQLServer/jc/200807/10972.htm">MS SQL基础教程:管理存储</a><br/>
·<a href="/data/SQLServer/jc/200712/6306.htm">MS SQL基础教程:数据库基</a><br/>
·<a href="/data/SQLServer/jc/200705/1178.htm">sql数据表</a><br/>
 </td>
      </tr>
	  <tr>
        <td><script src="/js1/1602.js"></script></td>
      </tr>
	  <tr>
        <td height="25" align="center" background="/templets/img/31bg3.gif"><strong>最新文章</strong></td>
      </tr>
	  <tr>
        <td><script src="/plus/js/0.js" language="javascript"></script></td>
      </tr>
	  </table></td>
  </tr>
</table>
<table cellspacing="0" cellpadding="0" width="760" align="center" bgcolor="#ffffff" border="0">
  <tr>
    <td align="center"><script src="/js1/content2.js"></script></td>
  </tr>
</table>
<table width="760" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr height="26">
    <td bgcolor="#e1f0fd" width="48"></td>
    <td bgcolor="#6ab3f4" width="35"></td>
    <td bgcolor="#0a518f" colspan="2" width="4"></td>
    <td bgcolor="#c0c0c0" width="530" align="center"><a title="将本站设为你的首页" onclick="this.style.behavior='url(#default#homepage)';this.sethomepage('http://www.bianceng.cn');return false;" href="http://www.bianceng.cn/">设为首页</a> | <a class="navmenu" 
      title="将本站加入到你的收藏夹" 
      href="javascript:window.external.AddFavorite(location.href,document.title)">加入收藏</a> | <a href="/about/about.htm">关于本站</a> | <a href="/plus/flink.php">友情链接</a> | <a href="/about/banquan.htm">版权声明</a> | <a href="/plus/sitemap.html">网站地图</a> | <a href="/plus/rssmap.html">RSS订阅</a></td>
    <td bgcolor="#0a518f" colspan="2" width="4"></td>
    <td bgcolor="#6ab3f4" width="32"></td>
    <td bgcolor="#e1f0fd" width="47"></td>
  </tr>
  <tr height="26">
    <td colspan="9" bgcolor="#FFFFFF" align="center">编程入门网 版权所有,bianceng.cn,All Rights Reserved. <script src="/js/tongji.js"></script> 阅读次数:<script src="/plus/count.php?aid=6234&mid=0" language="javascript"></script></td>
  </tr>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -