转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
《MS SQL Server 2000管理员手册》系列——28. 合并式复写         

《MS SQL Server 2000管理员手册》系列——28. 合并式复写

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2988 更新时间:2007/11/14 13:13:08

28. 合并式复写
合并式复写简介
使用合并式复写
设定合并式复写系统
管理复写
合并式复写的监控与校调
本章总结
合并式复写和交易式复写不同的地方在于,合并式复写可多方作业。利用合并式复写让发行者和订阅者都可以更新发行集。虽然交易式复写也允许订阅者更新发行集,但是这两种复写类型的功能性却有很大的差异。本章中会学到合并式复写的运作方式,以及如何设定、监控与校调合并式复写。
合并式复写简介
 
合并式复写在发行者与一个或多个订阅者之间执行双向复写。这样可以允许数个系统拥有可以更新的发行集副本,并且可以修改自己的发行集副本。在订阅者的修改会被复写至发行者,然后再到其它订阅者。
不像交易式复写,合并式复写的执行方式是在发行者和订阅者安装触发程序。当发行集或发行集的副本有变更时,会触动适当的触发程序,产生复写命令,并队列等待以传送至散发数据库。这个复写命令最后会被送至散发数据库,然后传送到参与复写的系统。基于这样的执行方式,合并式复写会比交易式复写的负担来的大,尤其是在发行者。
在本章中您会学到在合并式复写中两个重要的成员,一个是 合并代理程序(Merge Agent) ,一个是散发数据库。 合并代理程序 会合并自上一次合并后所发生的增量数据变更。当您使用合并式复写时(并不会使用散发代理程序),合并代理程序会与发行者和散发者通讯。快照代理程序只用于建立初始数据库。合并式代理程序会执行以下的作业:
1. 合并代理程序上载所有订阅者变更的数据。
2. 没有冲突的所有数据列会立即上传(这些数据列即为在发行者与订阅者都没有变更的资料列)。有冲突的数据列(这些数据列即为在发行者与订阅者都有变更的资料列)会被送至冲突解决器。 解决器(Resolver) 是一种用来解决合并式复写中产生冲突数据的模块,您可以自行设定适用于自己的解决器。
3. 所有的变更会套用至发行者。
4. 合并代理程序上载所有来自发行者的变更数据。
5. 没有冲突的数据列立即上传;有冲突的送至冲突解决器。
6. 所有变更套用至订阅者。
这个处理过程会依照排程重复执行。在发送订阅模式中,合并代理程序在散发者执行;在提取订阅模式中,合并代理程序在订阅者执行。每一个合并式发行集都有自己的合并代理程序。
使用合并式复写
 
合并式复写适用于需要双向复写的情况,其应用层面十分广泛,其中可允许订阅者修改递增数据这一项就带来了不少好处。以下为合并式复写的应用:
•   公司内部数据共享 :例如一个公司内的负责薪资、应付账款及应收帐款的部门就可以存取一样的数据。每一个部门的使用者可以自行修改数据,然后在部门的系统上,合并所有的修改。
 
•   多点资料共享 :当不同地点的使用者需要用到相同的数据,并且需要修改数据时,就可利用到合并式复写。
 
•   讯息传递 :合并式复写可当作是讯息传递的系统,可以修改数据并将变更后的数据传送回到原系统。
 
设定合并式复写系统
 
设定合并式复写和设定快照式与交易式复写类似。首先必须设定发行集,然后将发行集以发送或提取的方式供订阅者订阅。
________________________________________
说明
在设定任何类型的 SQL Server 复写之前,您必须先设定发行与散发。请参阅 第26章的〈设定发行与散发〉 一节的叙述。
________________________________________
设定发行集
 
设定合并式复写发行集的过程和之前两种类型的发行集略有不同,以下为设定的步骤:
1. 使用 Enterprise Manager,透过下列任一步骤执行设定,选择 工具 / 复写 ,按一下 建立和管理发行集 ;或是选择 工具 / 精灵 ,选择 建立发行集精灵 。用任一方式都可进入建立和管理发行集的对话框,如图28-1 所示。这里可选择预发行的数据库或数据表。
 
 
图28-1 「建立和管理发行集」对话框
若发行集已存在,下列的按钮就会显示:
o  发送新的订阅 :您可以为已经存在的发行集建立新的发送订阅,这个步骤将会在本章的 〈设定订阅〉 一节讨论。
 
o  属性与订阅 :可更改发行集与订阅属性。
 
o  指令化发行集 :可建立指令码用以建立更多发行集。
 
o  删除发行集 :可以删除已经设定的发行集。
 
2. 选择发行集数据库(如图28-1,选择 Northwind 为发行集数据库),选择 建立发行集 进入 欢迎使用建立发行集精灵 窗口,如图28-2所示。选取 显示这个精灵中的进阶选项 选项。
 
 
图28-2 「建立发行集精灵」的欢迎窗口
3. 按一下 下一步 进入 选取发行集的数据库 窗口,如图 28-3 所示。可再次选择欲发行的数据。在步骤二选取的数据库会反白显示。
 
 
图28-3 「选取发行集的数据库」画面
4. 按一下 下一步 进入 选取发行集类型 画面,如图28-4 所示。
 
 
图28-4 「选取发行集类型」画面
您可以选择任一复写类型,三种发行集的功能如下:
o  快照式发行集 :可以周期性的复写发行项的快照集至订阅者。您可以使用任何资料表建立快照式发行集。
 
o  交易式发行集 :可以建立交易式复写发行集,该发行集会以发行者的变更来更新订阅者数据。只有数据表有主索引键时,才可以建立交易式复写的发行项。
 
o  合并式发行集 :可以建立合并式复写发行集,该发行集允许您在发行者与订阅者之间双向复写。您可以使用任何数据表建立合并式复写的发行项。
 
5. 按一下 合并式发行集 ,按一下 下一步 进入 指定订阅者类型 窗口,如图28-5 所示。这个窗口可以指定是否所有的订阅者执行 SQL Server。图28-5显示默认值,预设的设定指定所有的订阅者都执行 SQL Server 2000。如果接受此设定值,就是将复写设定为使用原生 SQL Server 2000 的数据类型。其它还可以选择 SQL Server 7.0 的服务器,或其它性质的服务器,这个选项会使复写数据转换回字符格式,当然也会经过一些繁杂的转换手续。
 
 
图28-5 「指定订阅者类型」窗口
6. 按一下 下一步 进入 指定发行项 画面,如图28-6 所示。在这个画面中,可以指定将资料表或其它数据库对象当作发行项以进行复写。这些发行项构成您所建立的发行集。在左边所列出的画面,可以在 显示 中复选所列出的项目,包括 数据表 、 预存程序 及 检视表 ,一旦选取任何一个项目,在右边的窗口就会列出这些项目的明细。然后您可以在右边的明细中再选取想要发行的数据表,或是回到左边的窗口,选取 全部发行 项目中的所有数据表。记住,每一个数据表、预存程序或检视表都视为一个独立的发行项,而发行集是由一组发行项构成。
 
 
图28-6 「指定发行项」画面
________________________________________
说明
若在订阅者已存在预存程序,可以利用复写呼叫预存程序,而不需要在网络上传递预存程序的结果。
________________________________________
7. 由于选择的是合并式复写,我们可以替发行项定义更多的属性。按一下 [...] 按钮即可进入 数据表发行项属性 画面设定属性,如图28-7 所示。
您可以透过这个窗口中的卷标页为发行项设定不同的属性,图28-7 即为 一般 标签页。这里可以指定发行项名称与来源数据表拥有者,并且决定数据冲突的定义。预设选项会将同一数据行进行变更视为冲突。

 
 
图28-7 「数据表发行项」属性中的「一般」标签页
8. 选择 解决器 标签页可指定解决器,如图28-8 所示。如果使用预设的解决器,当冲突发生时,发行者会被视为是胜利的一端。还有,如果在订阅者之间发生冲突,则首先进行同步的订阅者就会被视为是胜利者(而稍后执行的其它订阅者则会被视为是失败端)。您也可以选择其它的解决器或是自订的解决器。
9. 在 合并变更 标签页中(如图28-9),您可以对特定的操作,指定额外的安全性。藉由在 检查使用权限 中选取一个或多个选项,您可以指定合并代理程序的权限以执行特定的操作,或者指定在执行某些操作前先检查。另外,该卷标页中有预设的选项,指定了多重数据行更新的方式,请接受这个默认值。按一下 确定 继续设定。
 
 
图28-8 「数据表发行项」属性中的「解决器」卷标页窗口

 
 
图28-9 「数据表发行项」属性中的「合并变更」窗口
10. 按一下 下一步 。检查发行集后的结果会在这里显示,最可能看到的窗口会如图28-10 所示。合并式复写需要一个唯一的识别数据行,这个数据行会自动的帮您加入到数据表内。另外,在识别数据行上将会建立 NOT FOR REPLICATION 选项。
 
 
图28-10 「发行项的问题」画面
11. 按一下 下一步 进入 选取发行集名称与描述 画面,如图28-11 所示。在这个画面中,简单的指定发行集名称与描述即可。
12. 按一下 下一步 进入 自订发行集的属性 画面,如图28-12 所示。在这个画面中可以决定是否需要定义资料筛选或自订其它发行集的属性,选择 否,依指定建立发行集 。
 
 
图28-11 「选取发行集名称与描述」画面

 
 
图28-12 「自订发行集的属性」画面
13. 选择 下一步 进入 完成建立发行精灵 画面。按一下 完成 ,就可看到精灵建立发行集的过程,执行完毕后发行集即成功的建立。
现在检查 复写监视器 的 合并数据代理程序 数据夹,并不会有任何数据出现,这是因为合并代理程序是用于双向复写,因此在复写之前需要先设定订阅者。在订阅者设定完成后,合并代理程序才会出现在复写监控器的数据夹中。
设定订阅
 
就如同之前两种类型的设定一样,设定合并式复写的最后一个步骤就是设定订阅者。首先必须在散发数据库中启用订阅者,启用的方法以在 第26章的〈启用订阅者〉 一节中介绍过。然后在订阅者或发行者设定订阅,从订阅者可设定提取订阅,而从发行者则可设定发送订阅。
设定提取订阅
 
设定提取订阅的方式在 第27章的〈设定提取订阅〉 一节中有介绍设定的步骤,由于设定的过程几乎一模一样,因此在这里只简单的带过设定的步骤。
1. 进入 提取订阅精灵 。
2. 进入 欢迎使用提取订阅精灵 画面。
3. 按一下 下一步 进入 寻找发行集 画面,在这个范例中选择在已注册服务器的服务器中寻找发行集。
4. 按一下 下一步 进入 选取发行集 画面,并且选择要使用的发行集。
5. 按一下 下一步 进入 指定同步代理程序登入 画面,指定代理程序联机到发行者时的方式和登入账号。
6. 按一下 下一步 进入 选取目的数据库 画面,指定复写的发行项要放在哪个数据库中。
7. 按一下 下一步 进入 初始化订阅 画面,选择适当的选项。
8. 按一下 下一步 进入 快照集传送 画面,选择快照集传送位置。
9. 按一下 下一步 进入 设定合并代理程序排程 画面。这个画面的设定和 第27章 中的 设定散发代理程序排程 类似,可参照之前的设定逻辑选择适合选项。
10. 按一下 下一步 进入 设定订阅的优先权 画面,如图28-13 所示。优先权的意思是说当冲突发生时有哪些订阅集会优先被认为是正确的。预设的设定(也是建议的设定)指定当冲突发生时,在发行者的设定会优先被用来解决冲突。
11. 按一下 下一步 进入 启动必要的服务 画面,并且启动未被启动的 SQL Server 代理程序。
12. 按一下 下一步 进入 完成提取订阅精灵 画面,检视设定确定无误后,选择 完成 即可完成订阅集的设定作业,现在提取订阅会定期更新。
 
 
图28-13 「设定订阅的优先权」画面
设定发送订阅
 
发送订阅要在发行者启动,您可以使用 发送订阅精灵 来设定。请参照以下步骤使用 发送订阅精灵 :
1. 使用以下任一方法进入 发送订阅精灵 。第一种方法是在 Enterprise Manager 中按一下 工具 ,选择 复写 / 将订阅发送至其它服务器 ,进入 建立与管理服务器的发行集 对话框,如图28-14 所示。
 
 
图28-14 「建立与管理服务器的发行集」对话框
在 数据库与发行集 中选择一个发行集,并按一下 发送新的订阅 按钮。要使用第二种方法进入图28-14 的对话框,请在工具列中选择 工具 ,在选取清单中选择 精灵 ,然后展开 复写 ,并选择 建立发送订阅精灵 。
2. 按一下 发送新的订阅 后,会看到如图28-15 的 欢迎使用发送精灵 画面。
 
 
图28-15 「欢迎使用发送精灵」画面
3. 按一下 下一步 进入 选择订阅者 画面,如图28-16 所示。这里可以指定发行集要发送至哪一个订阅者。在 启用的订阅者 清单中选取订阅者。
 
 
图28-16 「选择订阅者」画面
4. 按一下 下一步 进入 选取目的数据库 画面,如图28-17 所示。这里可以指定订阅者的数据库,您可以选择已经存在的数据库,或是依需要建立新的数据库。按一下 浏览或建立 按钮可以看到已经存在数据库的清单。如要建立新的数据库,在按一下此按钮后可再按一下 建立新对象 ,然后在 数据库属性 的窗口中建立新的数据库。
5. 按一下 下一步 进入 设定合并代理程序的位置 画面,如图28-18 所示。指定合并代理程序执行的位置,选择接受默认值即将合并代理程序在散发者执行,您也可以选择在订阅者执行代理程序。除非散发者的工作非常忙碌,否则建议接受默认值。
 
 
图28-17 「选取目的数据库」画面

 
 
图28-18 「设定合并代理程序位置」画面
6. 按一下 下一步 进入 设定合并代理程序的排程 画面,如图28-19 所示。在这里可以选择连续更新订阅集或选择依排程更新订阅集。选择依排程更新订阅集,按一下 变更 按钮可进入 编辑重复执行作业排程 对话框更改排程及更新订阅集的频率。记住如果选择的是连续更新,会造成系统的负担。
 
 
图28-19 「设定合并代理程序的排程」画面
7. 按一下 下一步 进入 初始化订阅 画面,如图28-20 所示。在这里可以指定订阅集是否需要初始化。初始化结构描述和在订阅者的数据集已经由预设指定。如果结构描述已经存在,就无法选取 否, ...这个选项。这个画面中也可以启动快照集代理程序,建议在初始化快照集时就启动快照集代理程序,否则就必须手动启动代理程序。一旦启用了快照集并且开始进行复写,在新的订阅建立之前都不会使用到快照集。每建立一次新的订阅,就要建立新的快照集。
8. 按一下 下一步 进入 设定订阅的优先权 画面,如图28-21 所示。这里可以设定当冲突发生时订阅的优先权。建立接受默认值,也就是当冲突发生时,发行者的设定会有优先权。
 
 
图28-20 「初始化订阅」画面

 
 
图28-21 「设定订阅的优先权」画面
9. 按一下 下一步 进入 启动必要的服务 画面,如图28-22 所示。在这里可以启动还未启动的 SQL Server 代理程序。
 
 
图28-22 「启动必要的服务」画面
10. 按一下 下一步 进入 完成发送订阅精灵 画面,如图28-23 所示。检查所有的设定是否正确后,按一下 完成 开始将快照集复制到订阅者的程序。您会看到一个描述程序进行的对话框,最后会出现操作程序完成的消息框。当精灵完成后,发送订阅就建立,且会定期更新。
 
 
图28-23 「完成发送订阅精灵」画面
管理复写
 
在了解如何在 SQL Server 2000 环境中建立与设定复写数据库后,现在可以来学习利用 Enterprise Manager 的监控功能与设定选项,管理与疑难排除当复写不能如预期执行时的问题。
复写代理程序的监控与管理
 
在 Enterprise Manager 中的 复写监视器 数据夹可以找到 代理程序 。请参照以下步骤存取代理程序:
1. 展开服务器群组、您的服务器,及复写监视器数据夹。
2. 如果展开的是发行者服务器, 发行者 和 代理程序 数据夹会出现在 复写监视器 数据夹中。 发行者 数据夹内包含属于此服务器的所有发行者。 代理程序 数据夹内含有 快照集代理程序 、 散发代理程序 、 合并代理程序 ,及用在清除和历程记录数据的

[1] [2] [3]  下一页


[Access]sql随机抽取记录  [Access]ASP&SQL让select查询结果随机排序的实现方法
[聊天工具]企业邮件系统的利器----FoxMail Server  [系统软件]OPEN SERVER 5.0.5安装EXP300阵列柜
[系统软件]SQL语句性能优化--LECCO SQL Expert  [系统软件]关于Windows2000Server的灾难恢复
[常用软件][网络]下载服务革命性风暴Poco Server评测  [C语言系列]动态创建SQL Server数据库、表、存储过程等架构信…
[C语言系列]SQL Server到DB2连接服务器的实现  [C语言系列]SQL Server到SYBASE连接服务器的实现
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台