第14章复制.doc_第1页
第14章复制.doc_第2页
第14章复制.doc_第3页
第14章复制.doc_第4页
第14章复制.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第14章复制第14章 复制 本章学习目标SQL Server中的复制(Replication)技术可以使企业的数据分布在局域网、广域网甚至因特网上的多台服务器上,并能实现这些分布式数据的一致性。本章主要讲述有关数据库复制技术的内容,包括复制的基本概念、出版服务器的配置、出版物的创建与订阅等。通过本章的学习,读者应了解复制的概念、复制的应用及其工作过程等,掌握复制的模型和种类的内容以及复制的实施方法等。 学习重点与难点 复制的概念、种类、工作过程及其应用等 出版服务器的配置 创建出版物 出版物订阅方式的设计141 数据库复制技术数据库复制技术是企业级分布式数据库应用到的重要而强大的技术,是企业实现分布式数据库的主要手段。通过它可以在企业内多台服务器上分布式存储数据、执行存储过程。本节首先来介绍有关复制的一些基本概念。14.1.1 复制的概念复制是一种实现数据分布的方法,就是把一个系统中的数据通过网络分布到另外一个或多个地理位置不同的系统中,并控制数据的同步以保证分布数据的一致性。使用复制,用户可以通过局域网、拨号连接或Internet网络将数据发布到远程计算机上,以适应可伸缩组织的需要、减轻主服务器的工作负荷和提高数据的使用效率。复制可以实现在异种平台和数据库之间的信息共享。复制实现的是松散的一致性,复制过程可以使用所有服务器上的数据都被修改,但这并不是同时发生的。在主要服务器上的数据修改和复制数据的修改之间存在延时。与分布式事务不同,复制即可用于局域网,也可以用于广域网,即可使用快速链路,又可使用慢速链路。SQL Server主要采用出版、订阅的方式来处理复制。源数据所在的服务器是在出版服务器,负责发表数据。出版服务器把要发表数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个发布数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器。14.1.2 复制的应用复制有以下几种典型应用:1. 创建决策支持系统和数据仓库环境数据仓库是包含企业中历史业务数据的数据库,它的数据来自不同业务系统,这些来源不同的数据经过处理后成为格式统一的数据存放在数据仓库中,作为企业决策支持的基础。数据仓库中的数据是不可更新的,它定期地从保存企业日常业务数据的数据库中提取,将这些数据保存在一个中间区域进行处理,然后追加到数据仓库中。数据复制在这个过程中就可以将业务数据库中的数据发送到进行处理的中间区域。2. 移动用户商务用户经常需要在域外工作,他们从公司获得最新的数据,并将自己的最新信息更新到公司的主服务器,复制是达到这一目的最简单的途径。出差在外的用户可以通过拨号上网,将主服务器上的数据复制到自己的手提电脑上,然后断开网络连接,离线地对这些数据进行处理,在适当的时候,可以再与主服务器建立网络连接将他所做的修改传回主服务器。3. 基于Web的应用程序在Internet上复制数据可使远程的、匿名的用户能够访问他们需要的数据。比如,一个网上商店允许用户在主页上浏览它们所有的商品信息,用户可能需要浏览大量的数据,利用复制,管理员可以将数据在多台Web服务器上保留只读的拷贝,用户浏览商品信息时,可以使用任意一台服务器上的数据,从而增强了该站点承受大量数据的能力。14.1.3 复制模型SQL Server 2000复制模型基于一种“出版/订阅”的结构。该模型由以下几个元素组成: u 出版服务器出版服务器是提供数据复制源的服务器。出版服务器使用一个或多个出版数据库作为信息源。这些信息源可以供其他服务器复制使用。要进行复制必须有一个出版服务器,但可以有多个订阅服务器。u 分布服务器发布服务器是执行出版物存储与转发功能的服务器。发布服务器中包含有发布数据库,用以存放从出版服务器上发送来的数据,发布服务器负责将复制的信息发布给各订阅服务器。发布服务器的角色可以由出版服务器一并担任。u 订阅服务器订阅服务器是接受更新或者复制数据的目标服务器。在有些复制种类中,不光是出版者,订阅服务器也可以更新数据库的数据,然后将数据的改变发回出版者,或重新出版到其他订阅服务器。一个数据复制操作只能有一个出版服务器,但是可以有多个订阅服务器。u 出版物就像出版过程中有出版物和文章一样,在复制过程中,把将要复制的数据也称为出版物和文章。出版物是由文章组成的数据集合,它是一个完整的将要复制的内容,它包括一篇或多篇文章,是订阅服务器订阅的对象。由一组文章组成的出版物可以将一组逻辑上相关的数据和数据库对象组织在一起,使它们一起被复制。u 文章在复制过程中,文章是组成出版物最小单位。文章是与数据库中的表对应的。文章既可以对应一个表中全部数据,也可以只包括表中的一部分数据。可以是表的某些记录,也可以是表的部分字段。单个文章是不能被复制的,文章必须组成出版物才能出版。当一篇文章只包括表中的一部分数据时,就等于对表中的数据进行了过滤。过滤数据具有实际的意义。u 订阅物一个订阅物包括了出版物中的全部文章,它定义了哪些出版物在何时何处被接收。14.1.4 复制的种类SQL Server提供了3种复制技术:u 快照复制(Snapshot Replication)快照复制的原理是出版服务器在指定的时刻将发表数据的变化更新到发布服务器上,改写原来的任何数据。在最初配置复制时,SQL Server会自动同步所有目标数据库中的数据,即将源数据库中的数据全部复制到目标数据库中。以后每次更新时,只需要发送数据的改变快照就可以了。使用快照复制不需要连续监视出版服务器的事务日志,需要的开销较小。使用快照复制可以建立在指定间隔时间刷新的计划表里,在订阅服务器上实现数据的更新。快照复制适用于不需要连续保持最新数据库和不需要经常连接出版服务器情况。u 事务复制(Transaction Replication)事务复制技术会连续监视出版服务器事务日志的改变。事务复制发布的是修改发表数据的语句(如INSRET、UPDATE、DELETE),而实际的数据并不会传输。由于发表数据的任何改变都发布给订阅服务器,而且数据的改变按事务执行的顺序发布以确保订阅服务器接收的顺序与出版服务器改变数据的顺序相同,所以采用事务复制可以确保事务一致性。u 合并复制(Merge Replication)合并复制是SQL Server 2000的新功能,原理是多个站点独立于出版服务器而修改数据,然后与出版服务器同步将改变的数据发布到其他站点。合并复制适用于移动的商业应用,如出差的工作人员,这时用户无法连接服务器,但又需要修改服务器中的数据,从实现方式来看,合并复制并不确保事务的一致性。14.1.5 数据的筛选方式在复制中,常常只将需要的那部分数据传输到订阅服务器,因此,需要对已发布数据进行筛选。通过筛选已发布数据,可以有几点好处:u 减少数据在网络上的传输量;u 减少订阅服务器上需要的存储空间量;u 订阅服务器只看到所需要的数据,限制敏感数据在订阅服务器中的可见性。对已发布数据的筛选方式有:行筛选、列筛选、动态筛选和连接筛选。行筛选与列筛选可用于快照复制、事务复制和合并复制,而动态筛选与连接筛选只能用于合并复制。1、行筛选行筛选也叫水平筛选,主要用于选定已发布表中记录的子集,如需要将特定行传播到订阅分武器或创建发送到不同订阅服务器的不同数据分区,可以使用行筛选,以消除用户不需要看到的行。对于将不同数据分区发布到不同订阅服务器的应用程序,还有助于避免由多个订阅服务器更新相同的数据值导致的冲突。关于该筛选方式有如下几点需要说明:(1)事务发布中的行筛选在以下情况下避免使用:各站点可支持完整数据装载,总体数据集相当小以及每天的插入更新和删除事务的数目较小。(2)快照复制和事务复制中的行筛选是静态的,即创建发布向导或“发布属性”对话矿吖矿中设置的WHERE子句保持不变,直到对进行修改。(3)如果有两个订阅服务器分别需要发布表中的不同数据行,则需要两个不同的发布,分别带有不同的行筛选,以便每个订阅服务器不检索正确的行。(4)尽管可以将子查询放入行筛选,但行筛选不是连接筛选,如果更新某个子查询引用表中的行,则不会重新执行该查询。2、列筛选列筛选也叫垂直筛选,使用列筛选可以限制各个订阅服务器接收的数据。对于一个表还可以同时使用行筛选和列筛选。在SQL Server 2000中,不能在发布中对如下字段进行列筛选:(1)带有主键约束的列;(2)无默认值的非空列;(3)包含在惟一索引中的列;(4)合并发布的ROWGUID列和允许即时更新订阅的快照发布或事务发布的ROWGUID列。3、动态筛选动态筛选是指合并进程在订阅服务器和发布服务器间复制数据时,根据合并代理程序和连接属性来调用系统函数,如HOST_NAME()或SUSER_SNAME等,为每个订阅服务器进行不同的计算,然后从发布表中筛选数据,为不同的订阅服务器提供不同分区的数据。使用动态筛选时需要注意以下两点:(1)该方式只可用于合并复制,并且在使用该方式进行筛选时,应考虑使用动态快照。(2)动态筛选其实是一种行筛选方式,只不过是限制数据的行。动态筛选以单个表为基础进行创建,但可以在同一个发布中以及相同的已发布表上,既使用动态筛选,又使用连接筛选。4、连接筛选连接筛选与两个表之间的连接操作类似,它是在两个表之间定义了一种逻辑关系。该筛选方式常与行筛选联合使用。14.1.6 复制代理在SQL Server 2000中,依靠若干个复制代理来完成复制进程。1、 快照代理快照代理用于各种复制类型中。一般运行在分发服务器的SQL Server代理下,可以使用企业管理器对其进行管理。无论是何种复制类型,在开始执行复制之前,出版服务器中源数据表必须与订阅服务器中的目标数据表同步,这是复制必不可少的前提条件。同步的含义就是保证源数据表和目标数据表中具有相同的表结构和数据,复制是在同步的基础上进行的。在事务复制和合并复制中,快照代理的作用就是产生初始快照、进行初始同步。快照代理进行同步包括下列步骤:(1)创建表结构定义的脚本文件,以及表的索引定义的脚本文件,并将要复制的数据拷贝到块拷贝文件中。(2)把这些文件存储在分发服务器的快照目录中。(3)在同步开始时,数据文件被生成之后,出版服务器上任何对数据的修改操作都会存储在分发服务器上的分发数据库中,这些修改在同步过程完成之前不会被复制到订阅服务器的数据库中。2、 日志读代理日志读代理用于事务复制。日志读代理负责把标记要复制的事务从出版服务器数据库的事务日志中拷贝到分发服务器上的分发数据库中。出版服务器每个被复制的源数据库都有自己专门的日志读代理,这些日志读代理运行分发服务器上,并与出版服务器相连。3、 发布代理分发代理用于事务复制和快照复制。分发代理负责把保存在分发数据库中的数据快照或者数据库事务日志传送到订阅服务器的接收数据库中。在请求订阅方式下,分发代理一般运行在订阅服务器上,占用订阅服务器的资源;在强制订阅方式下,分发代理一般运行在奋发服务器上,占用分发服务器的资源。4、 合并代理合并代理用于合并复制。合并代理对订阅服务器应用初始快照,并移动和合并对数据的修改。合并复制中的每个订阅物都有自己的合并代理,它同时与出版服务器和订阅服务器相连,同时修改这两个服务器上的数据。在请求订阅方式下,合并代理一般运行在订阅服务器上,占用订阅服务器的资源;在强制订阅方式下,合并代理一般运行在分发服务器上,占用分发服务器的资源。5、 排队读代理排队读代理用于在快照复制和事务复制中要求能够排队更新数据的情况。快照复制和事务复制中排队更新数据是SQL Server 2000在复制方面的新特性之一。排队更新允许快照复制的事务复制的订阅服务器修改出版物,而不能时刻保持与出版服务器之间的网络连接。当创建的出版物指定了排队更新选项时,订阅服务器对出版物执行的INSERT、UPDATE和DELETE操作都被存储在一个队列中,当订阅服务器与出版者之间的网络连接被恢复后,订阅者对出版物的修改可以异步地应用到出版服务器上。排队读代理是一个多线程代理,运行在分发服务器上。它负责从队列中得到数据的更新信息,并将其应用到相应的出版物上。与合并代理和分发代理不同,一个分发服务器上只运行一个排队读代理。14.1.7 复制的工作过程1、 快照复制的工作过程快照复制是由快照代理和和分发代理实现的。快照代理用于准备包含被出版的表和数据库对象的结构和数据的快照文件,将这些文件保存在快照目录中,并在分发服务器的分发数据库中记录同步任务。在SQL Server 2000中,快照目录默认位于分发服务器,但可以改变快照目录的位置。用户可以直接将快照文件保存到网络路径、FTP站点或移动介质上,这样在将快照文件传递给订阅服务器时可以时可以不需要网络来进行传递。这样不仅使快照复制更加灵活,也为事务复制和合并复制的初始同步提供了更灵活的方法。分发代理将快照移动到订阅服务器的目标表中。2、 事务复制的工作过程事务复制需要使用快照代理、日志读代理和分发代理。事务复制的过程包括下列步骤:(1)使用快照复制,初始化出版服务器和订阅服务器。(2)执行事务复制,日志读代理阅读出版数据库的事务日记制,如果没有变化的数据,那么将这些事务日志数据临时存储在分发数据库中。(3)分发代理负责把在分发数据库中的数据应用到多个订阅服务器中。在SQL Server 2000中,对日志的处理可以并行进行,也就是说,在产生初始快照的同时,仍可以对出版的表进行修改。3、 合并复制的工作过程合并复制是由快照代理和合并代理实现的。合并复制包括下列步骤:(1)快照代理产生数据库结构和快照并将其保存在快照目录中,并创建用于特定复制的存储过程、触发器和系统表。(2)合并代理对订阅服务器应用初始快照。(3)合并代理从出版服务器中取出出版物的变化,然后将这些变化应用到订阅服务器中。(4)合并代理从所有的订阅服务器中取出出版物的变化,然后把这些变化应用到出版服务器中,并解决可能产生的冲突。这些数据既可以周期地合并,也可以根据需要合并。在合并复制中,分发服务器的作用非常有限,因此一般将它设置成本地分发服务器,即与出版者使用相同的服务器。142 复制的实施过程了解了上一节中的内容并规划好复制的方案后,接下来就可以实施复制了。而对复制的实施过程其实就是指建立和配置参与复制的各种服务器、创建出版物和订阅出版物的过程。在SQL Server 2000中,无论使用哪种复制技术,实施复制都要经过配置复制、建立出版物、订阅出版物、应用初始快照和同步数据等几个步骤。14.3.1 配置服务器在SQL Server 2000中,用户也可以通过运行向导程序,方便地配置复制服务器。其具体操作步骤如下:(1)在企业管理器中选中服务器,在菜单栏中单击“工具”|“复制”|“配置发布、订阅服务器和分布”命令,启动配置发布和分发向导,并打开其欢迎对话框。(2)单击“下一步”按钮,打开如图14-1所示的对话框。由图可知,分发服务器通常是负责使发布服务器和订阅服务器之间的数据实现同步的服务器。可以选择本服务器作为自己的分发服务器,也可以选择其他的服务器作为分发服务器,我们选择前者。单击“下一步”按钮,打开如图14-2所示的对话框。图14-1选择分发服务器图14-2 选择代理服务配置的启动方式(3)单击“下一步”按钮,打开如图14-3所示的对话框,要求用户指定快照文件夹。图14-3 指定快照文件夹(5)可以使用默认的位置,也可以通过单击按钮来选择指定的文件夹。指定相应的文件夹后,单击“下一步”按钮,打开如图14-4所示的对话框。图14-4自定义配置(6)在此对话框中,可以自定义配置,也可以使用默认的设置。如果选择自定义设置,单击“下一步”按钮,打开如图14-5所示的对话框。在此对话框中,可以设置分发数据库的名称和分发数据库以及日志文件的位置,单击“下一步”按钮,打开如图14-6所示的对话框。 图14-5 选择分发数据库和日志文件的名称和位置图14-6 启用发布服务器(7)在此对话框中,单击“新建”按钮可以注册新服务器,单击“全部启用”按钮可以启用所选择的服务器,也可以通过单击“都不启用”按钮来停止所选服务器的启用。单击“下一步”,打开如图14-7所示的对话框。(8)在此对话框中,可以选择启用的发布的数据库。单击“下一步”按钮,打开如图14-8所示的对话框,在此对话框中,可以启用所选择的订阅服务器。单击“下一步”按钮,打开如图14-9所示的对话框,提示完成配置。单击“完成”按钮,即可完成服务器的配置。(9)在图14-4中,如果选择“使用下列的默认设置”,单击“下一步”按钮,则打开如图14-10所示的对话框,完成配置。 图14-7 启用发布数据库图14-8 启用订阅服务器图14-9 完成配置图14-10 完成配置14.3.2 创建出版物完成服务器的配置后,用户就可创建要复制的出版物了。在企业管理器中创建出版物的方法为:(1)在企业管理器中选中指定的服务器。在工具菜单中选择“工具”|“复制”|“创建和管理发布”命令,打开如图14-11所示的对话框。(2)单击“创建发布”按钮,打开创建与管理出版物的欢迎界面。单击“下一步”按钮,打开如图14-12所示的对话框。(3)在如图14-12所示的“选择发布数据库”对话框中选择要发布的数据库,单击“下一步”按钮,打开如图14-13所示的对话框。图14-11 创建出版物图14-12 选择发布数据库图14-13 选择发布类型(4)在“选择发布类型”对话框中选择发布的类型,然后单击“下一步”按钮,打开如图14-7所示的选择订阅服务器类型的对话框。图14-7 选择订阅服务器的类型(5)在此对话框中选择订阅服务器的类型,然后单击“下一步”,系统弹出如图14-8所示的定义文章对话框。(6)在此对话框中选择要出版的表、存储过程或视图。单击“下一步”,弹出一个对话框。此对话框中列出了发布的问题和描述。单击“下一步”按钮。弹出如图14-9所示的对话框。(7)输入发布的名称和描述后,单击“下一步”,系统会弹出对话框要求选择发布的属性。选择完毕后单击“下一步”,弹出完成创建发布的提示对话框。单击“完成”按钮,退出该向导,即可完成出版物的创建。图14-8定义文章图14-9发布名称和描述14.3.3 设计订阅完成出版物的设计后,用户可以进入复制工作的最后一步,即设计出版物的订阅方式。SQL Server提供了两种形式的订阅方式。如果是在订阅服务器上设计出版物的订阅,则称之为请求订阅,如果是在出版服务器上设计出版物的订阅,则称为强制订阅。不管采用哪种方式,数据源和目的地都是一定的。下面以请求订阅为例,介绍出版物的订阅方式的设计。其具体操作步骤如下:(1)在企业管理器选中指定的服务器。选择工具栏中的“工具”|“复制”|“请求订阅”命令,弹出如图14-11所示的对话框。(2)单击“请求新订阅

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论