
第7章数据复制 数据复制是一个实现数据发布的方法,就是把一个数据库服务器上的数据通过网铬传输 到一个或多个地理位置不月的数据库服务器中的过程.使用数据复制技术可以使数据的发态 过程白动化,以适应可种缩组织的需要、减轻主服务器的工作负背并提高数据的使用效率, 本章将对SQLServer2000的复制技术进行详细的分析和介绍. 7.1复制模型 7.1,1复制与出版的关系 为了更好地理解数据复制的过程和原理,可以把数据复制比喻成图书,报纸等出版过程, 即把信息从信息题迅速传送到信息接收处,它可以形象地解释数据复制的过程。之所以将数 据复制过程比响成出版过程,是因为这两种过程从内容到形式都非常类权,两种过程都是传 送信息,复制过程主要传送数据信息。两种过程中都有信息源和信息接收处。出版过程中, 信息薄是指信息拥有者的出版社,信息接收处是指订阅了出版物的用户。而复制过程中,信 息源是将要复制的数据所在的SSVr系统服务器,信息接收处是指接收复制数据的 SqL5ver系统服务器或其它服务器。从信息传送方向来看,这两种过程基本上都是单白的: 由于把复制过程比喻成了出假过程,因此,复制过程中的组件也就可以相应的比喻成为 发布服务器、订间服务器、分布根务器、发布、项目和订问等。 1.发布服务器 发布服务器就像是一个出版社,它提供可以用干复制到其地服务器的数据库,并检测这 生数据的更新情况,发布服务器包含了将要复制的数据所在的数据库,它负责制作将要出版 的数据。然后将这些数据的所有变化发送到分发服务器中, 出版是一个数据库中的一个或多个项目的集合,这种多个项目的分组使得指定逻辑相关 的一组数据和数据库对象一起复制变得更容易。 项目是番定要复制的数据表、数据分区或数据库对象,项目可以是完整的表、某几列(使 用垂直筛选)、某几行(使用水平箭遗》、存他过程成视图定义,存储过程的执行、视图、索 引视图或用户定义函数, 2分发服务器 分发服务墨类似于出版社与读者之间的中介,例如分发站,书店、报刊亭等。分发服务 器负责从发布服务器中接收数据,然后从该服务器上的分布数据库中存销这些变化,最后按 属指定的时间间隔推向相应的订阿服务器中。分发服务器分为:远程分发服务器和本地分发
第 7 章 数据复制 数据复制是一个实现数据发布的方法,就是把一个数据库服务器上的数据通过网络传输 到一个或多个地理位置不同的数据库服务器中的过程。使用数据复制技术可以使数据的发布 过程自动化,以适应可伸缩组织的需要、减轻主服务器的工作负荷并提高数据的使用效率。 本章将对 SQLServer2000 的复制技术进行详细的分析和介绍。 7.1 复制模型 7.1.1 复制与出版的关系 为了更好地理解数据复制的过程和原理,可以把数据复制比喻成图书、报纸等出版过程, 即把信息从信息源迅速传送到信息接收处,它可以形象地解释数据复制的过程。之所以将数 据复制过程比喻成出版过程,是因为这两种过程从内容到形式都非常类似。两种过程都是传 送信息,复制过程主要传送数据信息。两种过程中都有信息源和信息接收处。出版过程中, 信息源是指信息拥有者的出版社,信息接收处是指订阅了出版物的用户。而复制过程中,信 息源是将要复制的数据所在的 SQLServer 系统服务器,信息接收处是指接收复制数据的 SQLServer 系统服务器或其它服务器。从信息传送方向来看,这两种过程基本上都是单向的。 由于把复制过程比喻成了出版过程,因此,复制过程中的组件也就可以相应的比喻成为 发布服务器、订阅服务器、分布服务器、发布、项目和订阅等。 1.发布服务器 发布服务器就像是一个出版社,它提供可以用于复制到其他服务器的数据库,并检测这 些数据的更新情况。发布服务器包含了将要复制的数据所在的数据库,它负责制作将要出版 的数据,然后将这些数据的所有变化发送到分发服务器中。 出版是一个数据库中的一个或多个项目的集合。这种多个项目的分组使得指定逻辑相关 的一组数据和数据库对象一起复制变得更容易。 项目是指定要复制的数据表、数据分区或数据库对象。项目可以是完整的表、某几列(使 用垂直筛选)、某几行(使用水平筛选)、存储过程或视图定义、存储过程的执行、视图、索 引视图或用户定义函数。 2.分发服务器 分发服务器类似于出版社与读者之间的中介,例如分发站、书店、报刊亭等。分发服务 器负责从发布服务器中接收数据,然后从该服务器上的分布数据库中存储这些变化,最后按 照指定的时间间隔推向相应的订阅服务器中。分发服务器分为:远程分发服务器和本地分发

服务器。 及订阅服务器 订间是对数据成数据库对象的复本的请求,订间定义将接收的发布和接收的时间,陆点。 订间服务器可以认队为是出版物的该者,它是接收数据的康务器。订间服务器是数据复制的目 的地,负责接收复制的数据。并且负责接收从发布服务器上传送过来的全部变化, 7.1,2复制颅型 数据复制的实现过程是一种推出订阿模型。使用推出模型,发布服务器将数据复制到订 阅服务器,而不必等待订阅服务器发出请求数据。推出订阅模型可以集中管理订阅,这样对 于多个订阅服务器,可以在发布服务器中迅速的建立某个发布的全部可间。使用订阅模型, 订阅间服务器必须发出订间数据请求,然后发布服务器才会把数据复制到订阿服务器。 SQLServer中订阅服务器经须注册为订阅服务器才能允许订阅, 图?-1所示为一个挂出订阀树里的数据复制示意图,根据此图可以了解整个数据复制的 假多慎型。 图7-1数据复制推出订阅模型示意图 7.2复制的类型 在SOLServer中根据事务一致性、各个站点的自主性和分区数据避免神突的能力,可以 把复制类里分成快租复制、事务复制和合并复制三种复制类里。 7.2.1快照复制 快属复制就是把在发布量务器上的出版物中的当前数据进行快照,然后周期性地督代订 阅服务器上地出版物.此过程类以于快速拍黑地过程,即首先抓拍发布服务器上的数据内容, 然后肥这些塑片贴在订阅服务器上,快風复制只对数暴库某各设定的时间片刻时的数据速行 复制,而不对一段时间内的数据更改进行连续监祝。 快愿复制将数据以特定时刻的当时状志分发,不监视对数据的更新。对于复制不经常更 改的数帮,或不要求保持数据最新值(低滑后时间)的情况,快瓢复制是一种最好的数据复制 方法。发生月步时,生成完整的快無并发透到订间服务器。 当数据更改量大但不经常发生时,快理复制要强于事务复制。例如,如果某情售组织要 维护一个产品价格表,并且这些价格每年要在四定时间进行一两次更新,建议在数据更政后 复制完整的数据快飄。如果发布的是具在发布服务器上更新的相对较小的表,在夜间创建快 厕也是一种选择, 当需要测览只读数据,而该数据是不是最新并非至关重要时(例如测览价格表、在线产
服务器。 3.订阅服务器 订阅是对数据或数据库对象的复本的请求。订阅定义将接收的发布和接收的时间、地点。 订阅服务器可以认为是出版物的读者,它是接收数据的服务器。订阅服务器是数据复制的目 的地,负责接收复制的数据,并且负责接收从发布服务器上传送过来的全部变化。 7.1.2 复制模型 数据复制的实现过程是一种推出订阅模型。使用推出模型,发布服务器将数据复制到订 阅服务器,而不必等待订阅服务器发出请求数据。推出订阅模型可以集中管理订阅,这样对 于多个订阅服务器,可以在发布服务器中迅速的建立某个发布的全部订阅。使用订阅模型, 订阅服务器必须发出订阅数据请求,然后发布服务器才会把数据复制到订阅服务器。 SQLServer 中订阅服务器必须注册为订阅服务器才能允许订阅。 图 7-1 所示为一个推出订阅模型的数据复制示意图,根据此图可以了解整个数据复制的 概念模型。 图 7-1 数据复制推出订阅模型示意图 7.2 复制的类型 在 SQLServer 中根据事务一致性、各个站点的自主性和分区数据避免冲突的能力,可以 把复制类型分成快照复制、事务复制和合并复制三种复制类型。 7.2.1 快照复制 快照复制就是把在发布服务器上的出版物中的当前数据进行快照,然后周期性地替代订 阅服务器上地出版物。此过程类似于快速拍照地过程,即首先抓拍发布服务器上的数据内容, 然后把这些照片贴在订阅服务器上。快照复制只对数据库某各设定的时间片刻时的数据进行 复制,而不对一段时间内的数据更改进行连续监视。 快照复制将数据以特定时刻的当时状态分发,不监视对数据的更新。对于复制不经常更 改的数据,或不要求保持数据最新值(低滞后时间)的情况,快照复制是一种最好的数据复制 方法。发生同步时,生成完整的快照并发送到订阅服务器。 当数据更改量大但不经常发生时,快照复制要强于事务复制。例如,如果某销售组织要 维护一个产品价格表,并且这些价格每年要在固定时间进行一两次更新,建议在数据更改后 复制完整的数据快照。如果发布的是只在发布服务器上更新的相对较小的表,在夜间创建快 照也是一种选择。 当需要浏览只读数据,而该数据是不是最新并非至关重要时(例如浏览价格表、在线产

品目录成决策支持数据),经常使用快罪复制。此时如果这些订阅服务器不是正在更新数据, 就允许断开连接。 满足下述条件时适合采用快盟复制 数据主要是静老数据,不经常更改,当数据确实发生更改时,将一个完全新的副本发布 到订阅里务器更有意义: 一个时期内允许有己过封时的数据复本。 复制少量数据(在整个数据到新为合理的情况下)。 由于快组复制是分爱某一时间片刻的数据刚本,因此当贝需分发贝读数据时,特别适合 使用快服复制,另外快丽复制是一次复制整个数据集,如果数据量根大,那么将数据修政传 播到订阅服务器的时间将会较长,这是可以考虑使用事务复制: 7.2.2事务复制 事务复制是把发布服务器上的事务作为增量的变化发都到订阅服务器中。实际上,事务 复制就是只把改变的内容复制发布出去,而快型复制则不论数据是否变化,都要靶标记为复 制的数据全部复制过去。这种复制类型是一种常用的复制类型,因为它可以最大程度地降低 事务一致性地延退。但是事务复制不是一种可以独立使用的复制类型。而是建立在快州复制 基础上的一种复制。也就是说,采用事务复制类型封,必须透行一次快照复制。以便同步发 布服务器和订阀服务器。通过事务复制,在订间服务器上应用数据的初始快照。然后,当发 布服务器上发生数据修成时,辅获个别的事务并传播到订间服务器。 满足下述情形时适合采用事务复制 希望发生增量更改时将其传播到订阿服务器上。 看要遵守ACD属性的事务: 丁阅服务器可靠和/或烦繁地连接到发布服务器上。 事务复制用事务日志辅获已发布表中发生的增量更改,SS©Tver2000系饶监视 INSERT、ATE和配ETE语句或其它数据修政,并将这些更改存储到分发数据库中,这里 分爱数据岸相当于一个可靠的队列。然后将更改传播到订阅服务器上,并按其爱生次序如以 应用: 7.2.3合并1复制 合并复制是从发布服务器向订阅服务器分发数据的过程,该复制类型使发布服务器和订 阅服务器得以在连接或未连接时更新数据,然后在连接时合并所有站点的更新。 合并复制使许多不同的站点得以自主工作,然后在隆一些时候再将更新合并成一个统一
品目录或决策支持数据),经常使用快照复制。此时如果这些订阅服务器不是正在更新数据, 就允许断开连接。 满足下述条件时适合采用快照复制: 数据主要是静态数据,不经常更改。当数据确实发生更改时,将一个完全新的副本发布 到订阅服务器更有意义。 一个时期内允许有已过时的数据复本。 复制少量数据(在整个数据刷新为合理的情况下)。 由于快照复制是分发某一时间片刻的数据副本,因此当只需分发只读数据时,特别适合 使用快照复制。另外快照复制是一次复制整个数据集,如果数据量很大,那么将数据修改传 播到订阅服务器的时间将会较长,这是可以考虑使用事务复制。 7.2.2 事务复制 事务复制是把发布服务器上的事务作为增量的变化发布到订阅服务器中。实际上,事务 复制就是只把改变的内容复制发布出去,而快照复制则不论数据是否变化,都要把标记为复 制的数据全部复制过去。这种复制类型是一种常用的复制类型,因为它可以最大程度地降低 事务一致性地延迟。但是事务复制不是一种可以独立使用的复制类型,而是建立在快照复制 基础上的一种复制。也就是说,采用事务复制类型时,必须进行一次快照复制,以便同步发 布服务器和订阅服务器。通过事务复制,在订阅服务器上应用数据的初始快照,然后,当发 布服务器上发生数据修改时,捕获个别的事务并传播到订阅服务器。 满足下述情形时适合采用事务复制: 希望发生增量更改时将其传播到订阅服务器上。 需要遵守 ACID 属性的事务。 订阅服务器可靠和/或频繁地连接到发布服务器上。 事务复制用事务日志捕获已发布表中发生的增量更改。SQLServer2000 系统监视 INSERT、UPDATE 和 DELETE 语句或其它数据修改,并将这些更改存储到分发数据库中,这里 分发数据库相当于一个可靠的队列。然后将更改传播到订阅服务器上,并按其发生次序加以 应用。 7.2.3 合并复制 合并复制是从发布服务器向订阅服务器分发数据的过程,该复制类型使发布服务器和订 阅服务器得以在连接或未连接时更新数据,然后在连接时合并所有站点的更新。 合并复制使许多不同的站点得以自主工作,然后在晚一些时候再将更新合并成一个统一

的结果.首先在订阅服务器上应用初始快属,然后SQLServer2000在爱布服务器上和订间服 务器上跟鉴已发布数据的更改。数据或是连续地,或是按调度时间或是按需在服务器之间同 步。由于更新是在多个服务器上进行的,所以同一数据可能由发布服务器或者由多个订阿服 务器进行了更新。于是,合并更新时就可能出现冲突。 合并复制包含默认或自定义冲突解决选项,可在配置合并复制时加以定义。当冲突发生 时,合并代理程序喷程调用一个冲突解决程序,并决定接受和向其它站点传播哪些数据, 满足下述条件时,适合使用合并复制: 多个订阅服务器雷要在不同时刻更新数据并将这些更改传播到发布服务器和其它订间 服务器. 可阅服务器需要接收数据,税机更改数据,然后将更改同步到发制服务器和其它订阅服 务器 当数据在多个站点更新时,不希望看到许多冲突(因为量据先辩透成分区,然后出版到 不同的订阅服务器:或者因为使川应用程序)。但是,如果确实发生了冲实,则违反CD 属性是可以接受的。 合并复制是由快属代理程序和合并复制代理程序实现的,可以分为四个步骤: ()由快理代理程序初始化发布服务器和订阅服务器。 (合并代理程序使用那些由快無代理为了建立订阿数据岸面复制的文件, 围合并代理程序从发布服务器中取出变化,然后把这些变化应用到订阅服务器中。 ()合并代理程序从所有的订阅服务器中取出变化,然后把这些变化应用到发布服务器 中。 7.3配置复 配置复制是标识企业内的发布服务器,分发服务器和订间服务器的过程,使用 SqL5 erver2000工具配置发布服务器、分发服务器和订间服务器以用于复制,并且将来在必 要时修改或禁用复制。分发服务器是相有分发数据库的服务器,它保存变化的事务日志且将 这些事务日志传送到订阅服务器上,发布服务器可以雷定要发布的数据所在的数据库,指定 运程分发服务器、允许订阅出版物的订阅服务器。建立订司服务器就是在订问服务器上选择 发布服务器和接收服务器。 配置复制的步骤如下, 标识分发服务器。 在此分发服务器上创建分发数据库
的结果。首先在订阅服务器上应用初始快照,然后 SQLServer2000 在发布服务器上和订阅服 务器上跟踪已发布数据的更改。数据或是连续地、或是按调度时间或是按需在服务器之间同 步。由于更新是在多个服务器上进行的,所以同一数据可能由发布服务器或者由多个订阅服 务器进行了更新。于是,合并更新时就可能出现冲突。 合并复制包含默认或自定义冲突解决选项,可在配置合并复制时加以定义。当冲突发生 时,合并代理程序唤醒调用一个冲突解决程序,并决定接受和向其它站点传播哪些数据。 满足下述条件时,适合使用合并复制: 多个订阅服务器需要在不同时刻更新数据并将这些更改传播到发布服务器和其它订阅 服务器。 订阅服务器需要接收数据,脱机更改数据,然后将更改同步到发布服务器和其它订阅服 务器。 当数据在多个站点更新时,不希望看到许多冲突(因为数据先筛选成分区,然后出版到 不同的订阅服务器;或者因为使用应用程序)。但是,如果确实发生了冲突,则违反 ACID 属性是可以接受的。 合并复制是由快照代理程序和合并复制代理程序实现的,可以分为四个步骤: ⑴由快照代理程序初始化发布服务器和订阅服务器。 ⑵合并代理程序使用那些由快照代理为了建立订阅数据库而复制的文件。 ⑶合并代理程序从发布服务器中取出变化,然后把这些变化应用到订阅服务器中。 ⑷合并代理程序从所有的订阅服务器中取出变化,然后把这些变化应用到发布服务器 中。 7.3 配置复制 配置复制是标识企业内的发布服务器、分发服务器和订阅服务器的过程,使用 SQLServer2000 工具配置发布服务器、分发服务器和订阅服务器以用于复制,并且将来在必 要时修改或禁用复制。分发服务器是拥有分发数据库的服务器,它保存变化的事务日志且将 这些事务日志传送到订阅服务器上。发布服务器可以指定要发布的数据所在的数据库、指定 远程分发服务器、允许订阅出版物的订阅服务器。建立订阅服务器就是在订阅服务器上选择 发布服务器和接收服务器。 配置复制的步骤如下: 标识分发服务器。 在此分发服务器上创建分发数据库

启用将使用此分发服务墨的发布服务墨。 启用出版数据库。 启用将找牧发布数据的订间服务器。 为便于执行,可使用配置分发和发布向导,采用Transact-SgL系饶存储过程的分发和 发布脚本配置或者S网-O。配置了复制以后,可以使用“发布服务落和分发服务签的属性” 对话框、Transa心1-SL系统存储过程域SL-的修改设置。 下而我们使用企业管理器中的配置发布和分发向导米建立分发服务器和发布服务器,它 包括: 1,建立分发服务器 ()在全业管理器中选择要安装分发数据岸的服务器 ()单击企业管理器工具栏上的“工具”按钮,然后选择“向导”:在弹出的向导对话框 中晟开“复制”树形菜单,单击其中的“配置分发、发布向导”这项,如图T一2所示。 3国单击弹出的如图7-3所示的配置发布和分发向导对话医中的“下一步”按组。 ()出现选择分发服务器窗口,如图7一4所示。在该窗口中,可以选择在发布服务器和订 间服务墨之阿同步化数据和分发数据库所在的分发服务器。并且在这里我们选择本地服务器 作为分发服务器。 ()单击下一步”按细,出现配置SOLServer代理对话根,在这里可以指定当系统启动 时白动启动SQLServerAgent服务或手工启动该服务。在量暴复制过程中,需要启动 SQLServerAgent服务,该服务用于支持各种复制代理的运行。这里选择白动启动 SqL5 erverAgent服务,如图7-5所示. )然后单击图7-5中的“下一步”按细。出规如图76所示的“指定快照文件夹”对话 框。此文件夹的作用是存储系统在复制过程中产生的文件。在该对话框中可以输入一个网络 共享路径,用于存储复制过程中生成的文件。 2创建分发数据库 指定了分发服务器之后,就可以创建发布数据库。单击图76中的“下一步”按钮,出 现自定义配置窗口,如图了-?所示,在这里可以指定使用该分发服务器和分布服务器和订阅 服务器。还可以确定存储分发数据库的名称和位置。这黑我门选择白定义设置。 3为爱布服务器指定分发数据库 单击图T-?中的“下一步”按组,就创建了分发数据库,然后就可以给发布服务器指定 分发数据库了。知图7-8所示
启用将使用此分发服务器的发布服务器。 启用出版数据库。 启用将接收发布数据的订阅服务器。 为便于执行,可使用配置分发和发布向导、采用 Transact-SQL 系统存储过程的分发和 发布脚本配置或者 SQL-DMO。配置了复制以后,可以使用“发布服务器和分发服务器的属性” 对话框、Transact-SQL 系统存储过程或 SQL-DMO 修改设置。 下面我们使用企业管理器中的配置发布和分发向导来建立分发服务器和发布服务器,它 包括: 1、建立分发服务器 ⑴在企业管理器中选择要安装分发数据库的服务器 ⑵单击企业管理器工具栏上的“工具”按钮,然后选择“向导”;在弹出的向导对话框 中展开“复制”树形菜单,单击其中的“配置分发、发布向导”选项,如图 7-2 所示。 ⑶单击弹出的如图 7-3 所示的配置发布和分发向导对话框中的“下一步”按钮。 ⑷出现选择分发服务器窗口,如图 7-4 所示。在该窗口中,可以选择在发布服务器和订 阅服务器之间同步化数据和分发数据库所在的分发服务器。并且在这里我们选择本地服务器 作为分发服务器。 ⑸单击“下一步”按钮,出现配置 SQLServer 代理对话框,在这里可以指定当系统启动 时自动启动 SQLServerAgent 服务或手工启动该服务。在数据复制过程中,需要启动 SQLServerAgent 服务,该服务用于支持各种复制代理的运行。这里选择自动启动 SQLServerAgent 服务,如图 7-5 所示。 ⑹然后单击图 7-5 中的“下一步”按钮,出现如图 7-6 所示的“指定快照文件夹”对话 框。此文件夹的作用是存储系统在复制过程中产生的文件。在该对话框中可以输入一个网络 共享路径,用于存储复制过程中生成的文件。 2.创建分发数据库 指定了分发服务器之后,就可以创建发布数据库。单击图 7-6 中的“下一步”按钮,出 现自定义配置窗口,如图 7-7 所示。在这里可以指定使用该分发服务器和分布服务器和订阅 服务器,还可以确定存储分发数据库的名称和位置。这里我们选择自定义设置。 3.为发布服务器指定分发数据库 单击图 7-7 中的“下一步”按钮,就创建了分发数据库,然后就可以给发布服务器指定 分发数据库了。如图 7-8 所示

(仙)单击”下一步”按钮,出现如图T-9所示的发布数据库窗口。这里我们这择student 数据库作为发布数据库 心单击“下一步”,出现如图T-10所示的激活订阅服务器窗口,在这里我们启用该订阅 服务器。 单击“下一步”,则出现向导的确认窗口,如图7-11所示。最后单击“完成”按组, 完成配置发布和分发数据库的操作,这时,系饶在企业管理器里面产生复制监视墨工具,如 图7一12所示。复制监视器可以检测系统的复制性能。 7.4建立和使用复制 7.4.1创建发布 配置好发布服务器之后,就可以在发布服务器上番定要发布的数据所在的最据库,然后 创建发布.我们可以使用企业管理器中的创建爱布向导来完成发布的创建工作其步霉如下: 1,指定要发布的数据所在的数那库 首先,在金业管理器中速释数据库服务器,然后单击工具栏上的“工具”按组,单击其 中的“向导”子菜单,然后展开“选择向导”对话框中的“复制”容器,双击“创建发布向 导”以启动向导。出跳如图了-3所示的“欢迎使用创建发布向导”页。 单击“下一步”。在“速择发布数据库”页中,选择包含发布数据库和对象的数据库 student,如图7-14所示, 如果是sysa加服务器角色成员运行“创建发布向导,向导将显示所有用户数据库, 并且为复制自动启用所达数据库,如果是数据库中的mr固定数据库角色成员运行“创 建发布向导”,仅有先前为复制启用的数据库才会出现,并且这些数据库都属于这个 dh_owner。 单击图T一-14中的“下一步”按钮,在“选择发布类型·对话框中,选择发布类型,如 图7-15所示。可以选择“快肌发布”,“事务发有”或“合并发布”, 2创建快狐发布 在图7-15中选择“快盟发布“,单击“下一步”按组,系统弹出“指定订阅服务器的类 型”对话框,如图7-16所示。 如图T-17所示,用户可以输入发布项目的名称和指述。如果没有在ctiveDirecto可 数据岸中注册SQLServer实例,“在ActiveDirectory中列出该发布"选项会变灰。单击“下 一步”,在如图7-18所示的“自定义发布的属性”对话框中,可以透择定义数据棉选、启用 置名订间和为快照代理程序配置自定义调度来自定义发布
⑴单击“下一步”按钮,出现如图 7-9 所示的发布数据库窗口,这里我们选择 student 数据库作为发布数据库。 ⑵单击“下一步”,出现如图 7-10 所示的激活订阅服务器窗口,在这里我们启用该订阅 服务器。 ⑶单击“下一步”,则出现向导的确认窗口,如图 7-11 所示。最后单击“完成”按钮, 完成配置发布和分发数据库的操作。这时,系统在企业管理器里面产生复制监视器工具,如 图 7-12 所示。复制监视器可以检测系统的复制性能。 7.4 建立和使用复制 7.4.1 创建发布 配置好发布服务器之后,就可以在发布服务器上指定要发布的数据所在的数据库,然后 创建发布。我们可以使用企业管理器中的创建发布向导来完成发布的创建工作。其步骤如下: 1.指定要发布的数据所在的数据库 首先,在企业管理器中选择数据库服务器,然后单击工具栏上的“工具”按钮,单击其 中的“向导”子菜单,然后展开“选择向导”对话框中的“复制”容器,双击“创建发布向 导”以启动向导。出现如图 7-13 所示的“欢迎使用创建发布向导”页。 单击“下一步”,在“选择发布数据库”页中,选择包含发布数据库和对象的数据库 student,如图 7-14 所示。 如果是 sysadmin 服务器角色成员运行“创建发布向导”,向导将显示所有用户数据库, 并且为复制自动启用所选数据库。如果是数据库中的 db_owner 固定数据库角色成员运行“创 建发布向导”,仅有先前为复制启用的数据库才会出现,并且这些数据库都属于这个 db_owner。 单击图 7-14 中的“下一步”按钮,在“选择发布类型”对话框中,选择发布类型,如 图 7-15 所示。可以选择“快照发布”、“事务发布”或“合并发布”。 2.创建快照发布 在图 7-15 中选择“快照发布”,单击“下一步”按钮,系统弹出“指定订阅服务器的类 型”对话框,如图 7-16 所示。 如图 7-17 所示,用户可以输入发布项目的名称和描述。如果没有在 ActiveDirectory 数据库中注册 SQLServer 实例,“在 ActiveDirectory 中列出该发布”选项会变灰。单击“下 一步”,在如图 7-18 所示的“自定义发布的属性”对话框中,可以选择定义数据筛选、启用 匿名订阅和为快照代理程序配置自定义调度来自定义发布

如果选择自定文发布,则出现如图7-19所示的对话框,可以遗择水平或垂直地箱选发 布中的项目。箭选发布中的项目:是从发布表中排除指定的列或者行,我们同时选择水平和 垂直棉选发布。 同时选择水平和垂直棉选发布。系统弹出图7-0所示的对话医,这里可以选择清除 一个发布项目中指定不发布的行和列。默认情况下,发布所有列。 单击“下一步”按细,在如图7-21所示的对话框里,可以透择允许题名订阅,匿名订 阅主要为了Internet发布或发布到大量订阅康务器,这里选择“否。只允许署名订阅”, “下一步”,在如图?-2所示的“设置快盟代理程序调度”对话框中,可以接受默认调 度或单击“更改”按组修改调皮。 最后,在“完成创建发布向导”对话框中,可以查看所有的发布透项,然后单击“完成” 技按相。如图7-23所示, 上而是创建快盟发布,限于篇幅,事务发布和配置合并发布请读者白行练习。 7.4.2订阅 在SQLServer200中,可以通过程制订阅和请求订间来订阅被发布的项目。 1.强制订阅 强制订阅是发布服务器在创建或编铜发布的同时建立的订阅,强制订阅可以在发布服务 器里定义强制订阅,并且一次可以为一个发布建立多个订阅服务器。强制订阅通常用在发生 数据更改时必须立即发送更改到订阅服务器的这种类型的应用中,强制订阅主要运用在需要 高的安全性、或者是在分发服务器上产生更高的处理器开销时且不会影响系统的整体性能的 场合 2请求订阅 请求订阅是从订阅服务器建立的订阅,当有订阅请求时,订阅吸务器对订阅请求进行初 始化后,发布对订间请求的允许并且对订问遗行注册,如果允许匿名订阅,则无需进行注册. 订阅凰务器的系统管理员或者爱据库拥有者决定接受那个发布以及何时进行按收。请求订间 最适用于需要低安全性的发布,且能支持多个订阅服务器(例如使用Internet的订阅服务器) 的发布。 7.4.3创建以制订阅 创建了发布以后,就可以在发布服务器上通过“强制订阅向导”配置强制订间。强制订 阅是在发布服务器中央配置,并初始化订阅。可以在企业管理墨的工具栏中单击“向导“, 展开“选择向导”对话框的“复制容器,然后双击“创建强制订阅向导“启动向导,出现“欢
如果选择自定义发布,则出现如图 7-19 所示的对话框,可以选择水平或垂直地筛选发 布中的项目。筛选发布中的项目就是从发布表中排除指定的列或者行。我们同时选择水平和 垂直筛选发布。 同时选择水平和垂直筛选发布,系统弹出如图 7-20 所示的对话框,这里可以选择清除 一个发布项目中指定不发布的行和列。默认情况下,发布所有列。 单击“下一步”按钮,在如图 7-21 所示的对话框里,可以选择允许匿名订阅,匿名订 阅主要为了 Internet 发布或发布到大量订阅服务器。这里选择“否,只允许署名订阅”。 “下一步”,在如图 7-22 所示的“设置快照代理程序调度”对话框中,可以接受默认调 度或单击“更改”按钮修改调度。 最后,在“完成创建发布向导”对话框中,可以查看所有的发布选项,然后单击“完成” 按钮。如图 7-23 所示。 上面是创建快照发布,限于篇幅,事务发布和配置合并发布请读者自行练习。 7.4.2 订阅 在 SQLServer2000 中,可以通过强制订阅和请求订阅来订阅被发布的项目。 1.强制订阅 强制订阅是发布服务器在创建或编辑发布的同时建立的订阅。强制订阅可以在发布服务 器里定义强制订阅,并且一次可以为一个发布建立多个订阅服务器。强制订阅通常用在发生 数据更改时必须立即发送更改到订阅服务器的这种类型的应用中。强制订阅主要运用在需要 高的安全性、或者是在分发服务器上产生更高的处理器开销时且不会影响系统的整体性能的 场合。 2.请求订阅 请求订阅是从订阅服务器建立的订阅。当有订阅请求时,订阅服务器对订阅请求进行初 始化后,发布对订阅请求的允许并且对订阅进行注册,如果允许匿名订阅,则无需进行注册。 订阅服务器的系统管理员或者数据库拥有者决定接受那个发布以及何时进行接收。请求订阅 最适用于需要低安全性的发布,且能支持多个订阅服务器(例如使用 Internet 的订阅服务器) 的发布。 7.4.3 创建强制订阅 创建了发布以后,就可以在发布服务器上通过“强制订阅向导”配置强制订阅。强制订 阅是在发布服务器中央配置,并初始化订阅。可以在企业管理器的工具栏中单击“向导”, 展开“选择向导”对话框的“复制容器,然后双击“创建强制订阅向导”启动向导,出现“欢

迎使用强制订阅向导”对话框,如图7-24所示。 这里将“显示木向导中的高领遗项”的复选框遗上,以便在是示高领选项时允许设置可 更新订间选项以及配置可用复制代理程序,使其在订同服务器而不是在分发服务器中运行: 单击“下一步”按钮。在如图?-25所示的“选择订阅服务器”对话据中,选择要强制接收 发布的订阅服务落。 如果是sy8a加n服务器角色成员运行“强制订间向导”,可以在空闲时启用一个注颗实 例.如果数据库的db0er角色成员运行“强制订阅向导”,则不能启用其他订阅服务器. 单击“下一步”按钮。如图7一26所示的“选择日的数据库”对话框中为发布选择日的数据 库。 在初始化之前,每个订阿服务器必须有目的数据岸。单击“浏魔或创建”按组以确认或 新建订阅数据库。单击“下一步”按银,根据发布类型,在如知图7一?所示的“设置分发代 理程序调度”对话框中选择“使用下列调度”。 单击“下一步”按铝,如图7-28所示的“初始化订间对话框中可以指定是否初始化 订阅和何时初始化订阅。在这里单击“是,初始化架构和数据选项按钮,并且透择“启动 快照代理程序米立即开始初始化处理”复选框,以便快盟代理程序立即创建快型。然后初始 化订阅,而不是等下一次快塑代理程序的快黑调度运行时再初始化,如果没有创建快盟文件, 此复选框将不会出现。 单击“下一步”按绍,在如图T-29所示的“启动要求的凰务”对话框中,SgL5ever 代理验证所要求的服务正在分发服务器上运行,如果要求的服务设有运行,默认情况下,当 向导完成时,SqL5Ter代理将启动服务。如果想手动启动,泽清除复选框。 最后,在“完成强制订阅向导”对话框中(图7-),查看订阅选项。然后单击“完成” 以创建强制订阅。 7,5通过Internet执行复制 互联网1 nternet技术加快了人们之间的思想交流、知讯传递、商业竞争,在数据库技 术额域如何充分利用Internet技术,是当前各种关系型数据库的主要特点,SQServer2000 也引入了对Internet技术的支持。例如,通过复制,可以把数据发形到Internet网馅上, 大大提高了数暴库中数据的应用效率。SOLServer?2000允许在Internet上复制数暴库中的 数据。这种复制,既可以通过推出订阅,也可以使用拉回订阅。在Internet上复制数据时, 要考虑下面一生因素: ()要保证发布服务器和分发服务器在网络防火墙的同一端,不能把发布服务墨和分发服
迎使用强制订阅向导”对话框,如图 7-24 所示。 这里将“显示本向导中的高级选项”的复选框选上,以便在显示高级选项时允许设置可 更新订阅选项以及配置可用复制代理程序,使其在订阅服务器而不是在分发服务器中运行。 单击“下一步”按钮,在如图 7-25 所示的“选择订阅服务器”对话框中,选择要强制接收 发布的订阅服务器。 如果是 sysadmin 服务器角色成员运行“强制订阅向导”,可以在空闲时启用一个注册实 例。如果数据库的 db_owner 角色成员运行“强制订阅向导”,则不能启用其他订阅服务器。 单击“下一步”按钮,如图 7-26 所示的“选择目的数据库”对话框中为发布选择目的数据 库。 在初始化之前,每个订阅服务器必须有目的数据库。单击“浏览或创建”按钮以确认或 新建订阅数据库。单击“下一步”按钮,根据发布类型,在如图 7-27 所示的“设置分发代 理程序调度”对话框中选择“使用下列调度”。 单击“下一步”按钮,如图 7-28 所示的“初始化订阅”对话框中可以指定是否初始化 订阅和何时初始化订阅。在这里单击“是,初始化架构和数据”选项按钮,并且选择“启动 快照代理程序来立即开始初始化处理”复选框,以便快照代理程序立即创建快照,然后初始 化订阅,而不是等下一次快照代理程序的快照调度运行时再初始化。如果没有创建快照文件, 此复选框将不会出现。 单击“下一步”按钮,在如图 7-29 所示的“启动要求的服务”对话框中,SQLServer 代理验证所要求的服务正在分发服务器上运行,如果要求的服务没有运行,默认情况下,当 向导完成时,SQLServer 代理将启动服务。如果想手动启动,泽清除复选框。 最后,在“完成强制订阅向导”对话框中(图 7-30),查看订阅选项,然后单击“完成” 以创建强制订阅。 7.5 通过 Internet 执行复制 互联网 Internet 技术加快了人们之间的思想交流、知识传递、商业竞争。在数据库技 术领域如何充分利用 Internet 技术,是当前各种关系型数据库的主要特点。SQLServer2000 也引入了对 Internet 技术的支持。例如,通过复制,可以把数据发布到 Internet 网络上, 大大提高了数据库中数据的应用效率。SQLServer2000 允许在 Internet 上复制数据库中的 数据。这种复制,既可以通过推出订阅,也可以使用拉回订阅。在 Internet 上复制数据时, 要考虑下面一些因素: ⑴要保证发布服务器和分发服务器在网络防火墙的同一端,不能把发布服务器和分发服

务器分隔在料络防火墙的两端。 (2)要保证发布服务卷和分发飘务器有直接的连接,并非只是通过1ntcr©t的连接。 在每一个计算机上,应该有使用TCP/IP协议,确保复制正常进行, 7.6复制监视器 如果已经启用了一个分发服务器的QLServer实例,企业管理器中将出现一个“复制监 视器”,它显示了使用该分发服务器的发布服务器的列表、所有发布的状态和所有复制代理 程序的状态。复利监视葛可以用来建立和监视复制警报,也可以用来停止和启动复制代理程 序和重新初始化订阅。 打开一个分发服务器的“复制监视器”之前。连接该分发服务器(即作为分发服务器的 SQLServer实例),然后展开并单击企业管理器中的复制监视器。如果是第一次展开复制监 视器,将出现如图7-31所示的“SQLServer企业管理器”对话框,通如用户选择复制监视 器的制新方式。实际使用时,应该建择于动制新以节钓分发服务器资源。 可以选释“复制警服”中的警报。SOLServer2000自带8种预配置的复制警报。要使用 这些警报,必须先启用警报,并且配置委通知的操作员。右击“复制警报”中的警报,单击 “属性”,然后在“复制警报属性”对话框里启川警报并选择要通知的操作员,完成配置, 如图了-34所示。 实习调练 1.实训目的 ()了解数据库复制的概之。 (2学会使用全业管理器配置复制: ()学会使用企业管理器实现复制操作 ()掌挥发布、分发和订阅服务器的概念、作用以及和物理服务器的对应关系。 2实训的知识准备 复制是把一个系统中的数据通过网络发布到另外一个或者多个地理位置不月的系统中 的过程。要求充分理解数据复制的基本概念和特点,陵够使用企业管理卷配置发布管理器、 分发果务器,以及建立订侧和使用复制监视器. 3实调内容和步W ()使用企业管理器实现复制操作需要网络环境支特 (2)配置发布管理器和分发根务器 ①在金业管理器中,展开服务器,右击“复制”项,意择“配置发布和分发向导”项
务器分隔在网络防火墙的两端。 ⑵要保证发布服务器和分发服务器有直接的连接,并非只是通过 Internet 的连接。 ⑶在每一个计算机上,应该有使用 TCP/IP 协议,确保复制正常进行。 7.6 复制监视器 如果已经启用了一个分发服务器的 SQLServer 实例,企业管理器中将出现一个“复制监 视器”,它显示了使用该分发服务器的发布服务器的列表、所有发布的状态和所有复制代理 程序的状态。复制监视器可以用来建立和监视复制警报,也可以用来停止和启动复制代理程 序和重新初始化订阅。 打开一个分发服务器的“复制监视器”之前,连接该分发服务器(即作为分发服务器的 SQLServer 实例),然后展开并单击企业管理器中的复制监视器。如果是第一次展开复制监 视器,将出现如图 7-31 所示的“SQLServer 企业管理器”对话框,通知用户选择复制监视 器的刷新方式。实际使用时,应该选择手动刷新以节约分发服务器资源。 可以选择“复制警报”中的警报。SQLServer2000 自带 8 种预配置的复制警报。要使用 这些警报,必须先启用警报,并且配置要通知的操作员。右击“复制警报”中的警报,单击 “属性”,然后在“复制警报属性”对话框里启用警报并选择要通知的操作员,完成配置。 如图 7-34 所示。 实习训练 1.实训目的 ⑴了解数据库复制的概念。 ⑵学会使用企业管理器配置复制。 ⑶学会使用企业管理器实现复制操作 ⑷掌握发布、分发和订阅服务器的概念、作用以及和物理服务器的对应关系。 2.实训的知识准备 复制是把一个系统中的数据通过网络发布到另外一个或者多个地理位置不同的系统中 的过程。要求充分理解数据复制的基本概念和特点,能够使用企业管理器配置发布管理器、 分发服务器,以及建立订阅和使用复制监视器。 3.实训内容和步骤 ⑴使用企业管理器实现复制操作需要网络环境支持 ⑵配置发布管理器和分发服务器 ①在企业管理器中,展开服务器,右击“复制”项,选择“配置发布和分发向导”项

单击“下一步”。 ②在分发服务器配置窗口中,第一个单选概表示发布服务器和分发服务器为同一台主 机:第二个单选框表示使用另外一台已经在本地SQLServer注册的主机作为分发服务器。单 击“下一步” ③在窗口中,选择第一个单选医表示启动时自动配置SQLServerAgent:选择第二个单 选框表示手动启动SQLServerAgent.单击“下一步“. ④在窗口中,设置快存储路径,单击“下一步”。 回在窗口中,选释第二个单选框。表示使用下面列表框中的各项默认配置,直接进入完 成配置窗口:如果不使用这些配置,则选择第一个单选框,将遇行一系列的设置。 国创建发布 在企业管理器中使用“创建发布向导”实现创建发布并向发布中泽加条目。其步骤为 ①在金业管理器,选择“工具”莱单中的“复制”项中的“创建发布向导”项,进入对 话框中。 ②速择要发布的数据库,然后单击“创建发布”按细,进入“选择分发服务器”对话根, 需要指定快里文件夹。 同单击“下一步”,在进入“选择发布数据库”的窗口,其中选择要发布的数据或对象 的来鞭数据岸。然后单击“下一步”进入选择发布类型窗口。 ④在窗口中,可以发布类型,三个单选框分别表示:快m发布、事务发布和合并发布, 选择需要创建的发布类型,然后单击“下一步”的对话框。 ⑤在“选择订阅服务器的类型”的对话框中,可以这择用于订阀发布的订间服务落使用 的数据库系统类型,三个复选择框分别表示使川S4Srv©T2000的订侧服务器和使用其他非 SQLServer数据库弱统的订阅服务器(例如0 racle,ccess等)。单击“下一步”进入指定 发布条目窗口。 ©在“指定项目”的对话框中,选中左侧的“显示未发布的对象”复选框,可以在右侧 的列表中显示所有没有加入发布的对象。在列表中这中要添加为发海条目的对象,单击“下 一步”。 ⑦在“选择发布名称和描述”对话框中,可以在“发布名称”和“发布描述”栏中指定 发布的名称并输入文本描述。然后单击“下一步”进入“发布属性”设置窗口。 圆在“白定义发布的属性”窗口中,如果选择第二个单选幅。表示接受所有的默认发布 属性设置,单击“下一步”,直接进入完成所有设置应口:如果要进行修政,可以选择第一
单击“下一步”。 ②在分发服务器配置窗口中,第一个单选框表示发布服务器和分发服务器为同一台主 机;第二个单选框表示使用另外一台已经在本地 SQLServer 注册的主机作为分发服务器。单 击“下一步”。 ③在窗口中,选择第一个单选框表示启动时自动配置 SQLServerAgent;选择第二个单 选框表示手动启动 SQLServerAgent。单击“下一步”。 ④在窗口中,设置快照存储路径。单击“下一步”。 ⑤在窗口中,选择第二个单选框,表示使用下面列表框中的各项默认配置,直接进入完 成配置窗口:如果不使用这些配置,则选择笫一个单选框,将进行一系列的设置。 ⑶创建发布 在企业管理器中使用“创建发布向导”实现创建发布并向发布中添加条目。其步骤为: ①在企业管理器,选择“工具”莱单中的“复制”项中的“创建发布向导”项,进入对 话框中。 ②选择要发布的数据库。然后单击“创建发布”按钮,进入“选择分发服务器”对话框, 需要指定快照文件夹。 ③单击“下一步”,在进入“选择发布数据库”的窗口,其中选择要发布的数据或对象 的来源数据库。然后单击“下一步”进入选择发布类型窗口。 ④在窗口中,可以发布类型,三个单选框分别表示:快照发布、事务发布和合并发布, 选择需要创建的发布类型,然后单击“下一步”的对话框。 ⑤在“选择订阅服务器的类型”的对话框中,可以选择用于订阅发布的订阅服务器使用 的数据库系统类型,三个复选择框分别表示使用 SQLServer2000 的订阅服务器和使用其他非 SQLServer 数据库系统的订阅服务器(例如 Oracle、Access 等)。单击“下一步”进入指定 发布条目窗口。 ⑥在“指定项目”的对话框中,选中左侧的“显示未发布的对象”复选框,可以在右侧 的列表中显示所有没有加入发布的对象。在列表中选中要添加为发布条目的对象,单击“下 一步”。 ⑦在“选择发布名称和描述”对话框中,可以在“发布名称”和“发布描述”栏中指定 发布的名称并输入文本描述。然后单击“下一步”进入“发布属性”设置窗口。 ⑧在“自定义发布的属性”窗口中,如果选择第二个单选框,表示接受所有的默认发布 属性设置,单击“下一步”,直接进入完成所有设置窗口;如果要进行修改,可以选择第一