第14章数据年复制 14-1复制概泷 14-2配置出版服务器 14-3分发管理 14-4订阅管理 14-5复制监视器 复制是将一组数据源向多处目标数据复制数据的技 术。本章主要介绍了 SQL Server2000下复制及其特点 复制的基本要素、 SQL Server提供的三种复制技术、复 制的结构模型、配置出版服务器、分发管理、订阋管理 和复制监视器
第14章 数据库复制 14-1 复制概述 14-2 配置出版服务器 14-3 分发管理 14-4 订阅管理 14-5 复制监视器 复制是将一组数据源向多处目标数据复制数据的技 术。本章主要介绍了SQL Server 2000下复制及其特点、 复制的基本要素、SQL Server 提供的三种复制技术、复 制的结构模型、配置出版服务器、分发管理、订阅管理 和复制监视器
14-1复制概 14-1-1复制及其特点 SQL Server000提供的复制是在数据库之间对数据和数据库对象进行复制和分发,并进 行同步以确保其一致性的一组技术,就本质而言,复制是将一组数据源向多处目标数据复制数据 的技术。在复制这一融合分布式数据处理技术的支持下,采统可以在跨局域网、广域网或因特网 的不同数据库服务器上维护数据的多个拷贝,从而可自动地以同步或异步的方式保证数据多个拷 贝之间的数据的一致性。使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通 过 Internet分发给远程或移动用户。复制还能够使用户提高应用程序性能,根据数据的使用方 式物理分隔数据或者跨越多个服务器分布数据库处理 SQL Server主要朵用出版和订阅的方式来处理复制、描蓮其复制活动,如图14-1所示。出版服 务器时数据源,负责把要发表的数据及改变情况复制到分发服务器,分发服务器是一个数据库 用以接收和保存所有的改变,再把这些改变分发给订阅服务器。 SQL Server2000复制可以便 捷地使用需要的数据,可减轻服务器的负担、分散数据库的使用,提高桑统的工作效率。 复制具有如下特点: 可在多个站点保存相同数据的复本。当多个站点需要为报表应用程序读取相同的数据或需要 各个独立的服务器时,显得尤其可观 可从大量读取数据的应用程序,如联机分析处理(OLAP)数据库、数据集市或数据仓库中分 离OLTP应用程序。 可将复制用作自定义备用服务器策略的一部分。可分离出要浏览的数据,方便用户使用应 用程序(如基于Web的应用程)浏览数据。 具有更大的独立性。用户可以在连接断开的情况下继续使用数据的复本,然后在连接恢复时 将对数据库所做的更改传播到其它数据库。 可将复制用作自定义备用服务器策略的一部分。复制是备用服务器策略的一种选择。SQL Server2000中的其它选择包括日志传和故障转移群集,它们在服务器失败的情况下提供数 据的复本
14-1 复制概述 14-1-1 复制及其特点 SQL Server 2000 提供的复制是在数据库之间对数据和数据库对象进行复制和分发,并进 行同步以确保其一致性的一组技术,就本质而言,复制是将一组数据源向多处目标数据复制数据 的技术。在复制这一融合分布式数据处理技术的支持下,系统可以在跨局域网、广域网或因特网 的不同数据库服务器上维护数据的多个拷贝,从而可自动地以同步或异步的方式保证数据多个拷 贝之间的数据的一致性。使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通 过 Internet 分发给远程或移动用户。复制还能够使用户提高应用程序性能,根据数据的使用方 式物理分隔数据或者跨越多个服务器分布数据库处理。 SQL Server主要采用出版和订阅的方式来处理复制、描述其复制活动,如图14-1所示。出版服 务器时数据源,负责把要发表的数据及改变情况复制到分发服务器,分发服务器是一个数据库, 用以接收和保存所有的改变,再把这些改变分发给订阅服务器。 SQL Server 2000复制可以便 捷地使用需要的数据,可减轻服务器的负担、分散数据库 的使用,提高系统的工作效率。 复制具有如下特点: 可在多个站点保存相同数据的复本。当多个站点需要为报表应用程序读取相同的数据或需要 各 个独立的服务器时,显得尤其可观。 可从大量读取数据的应用程序,如联机分析处理 (OLAP) 数据库、数据集市或数据仓库中分 离 OLTP 应用程序。 可将复制用作自定义备用服务器策略的一部分。 可分离出要浏览的数据,方便用户使用应 用程序(如基于Web的应用程)浏览数据。 具有更大的独立性。用户可以在连接断开的情况下继续使用数据的复本,然后在连接恢复时 将对数据库所做的更改传播到其它数据库。 可将复制用作自定义备用服务器策略的一部分。复制是备用服务器策略的一种选择。SQL Server 2000 中的其它选择包括日志传送和故障转移群集,它们在服务器失败的情况下提供数 据 的复本
图14-1复制示意图 出版服务器 分发服务器 订阅服务器 出版服务器 出版服务器 出版服务器
出版服务器 出版服务器 分发服务器 出版服务器 订阅服务器 出版服务器 图14-1 复制示意图
14-1-2复制的基本要素 SQL Server2000的出版-订阅活动涉及诸多要素,利用这些要素可用来来描泷SQL Server的复制活动。出版就是向其它数据库服务器(订阅者)复制数据,订购就是从另 外服务器(出版者)接收复制数据虽,虽然出版和订购的对象都是复制的数据,但两者 基于不同的角度,具有一定的顺序性:先出版后订购。 SQL Server的复制要素有出版 物和论文、出版服务器、分发服务器、订阅服务器、项目等。在此仅表逋如下 (1)出版物和论文。 出版物( Publications)桑指出版服务器上将要发表的一个或一组表,是论文的集合 论文( Article)是出版物中被复制的数据集合,一篇论文可以是整个表或是某个表的选 择、投影等操作的结果。论文是出版物的基本组成单元, 注:复制中订购者订购的是出版物,而非出版物中的论文。 (2)出版服务器。 出版服务器( Publish server)是指发行出版物的服务器,是被复制数据的源(提供数 据)服务器。岀版服务器可用于维护源数据库的信息,决定哪些数据将被复制,检测哪 些复制数据发生变化,并将这些变化复制到分发者的分发数据库中。要进行复制必须拥 有一台出版服务器和若干台订阅服务器。 (3)分发服务器。 分发服务器( Distribute Server)桑指执行出版物存储与转发功能的服务器,把从出版 服务器传输来的复制数据或存储过程分发至各个相关的订阅服务器,并负责维护分发数 据库。分发服务器角色可由出版服务器任。 (4)订阅服务器。 订阅服务器( Subscibe server)是接收、复制数据的目标服务器,可维护已岀版的数据 服务器。订阅数据库从若干个出版服务器上订阅不同的出版物。订阅服务器拥有订阅数 据库,用于存放接收的出版物
SQL Server 2000的出版-订阅活动涉及诸多要素,利用这些要素可用来来描述SQL Server的复制活动。出版就是向其它数据库服务器(订阅者)复制数据,订购就是从另 外服务器(出版者)接收复制数据虽,虽然出版和订购的对象都是复制的数据,但两者 基于不同的角度,具有一定的顺序性:先出版后订购。SQL Server 的复制要素有出版 物和论文、出版服务器、分发服务器、订阅服务器、项目等。在此仅表述如下: (1)出版物和论文。 出版物(Publications)系指出版服务器上将要发表的一个或一组表,是论文的集合。 论文(Article)是出版物中被复制的数据集合,一篇论文可以是整个表或是某个表的选 择、投影等操作的结果。论文是出版物的基本组成单元。 注:复制中订购者订购的是出版物,而非出版物中的论文。 (2)出版服务器。 出版服务器(Publish Server)是指发行出版物的服务器,是被复制数据的源(提供数 据)服务器。出版服务器可用于维护源数据库的信息,决定哪些数据将被复制,检测哪 些复制数据发生变化,并将这些变化复制到分发者的分发数据库中。要进行复制必须拥 有一台出版服务器和若干台订阅服务器。 (3)分发服务器。 分发服务器(Distribute Server)系指执行出版物存储与转发功能的服务器,把从出版 服务器传输来的复制数据或存储过程分发至各个相关的订阅服务器,并负责维护分发数 据库。分发服务器角色可由出版服务器兼任。 (4)订阅服务器。 订阅服务器(Subscibe Server)是接收、复制数据的目标服务器,可维护已出版的数据 服务器。订阅数据库从若干个出版服务器上订阅不同的出版物。订阅服务器拥有订阅数 据库,用于存放接收的出版物。 14-1-2 复制的基本要素
(5)项目。 项目(Item)是指定要复制的数据麦、数据分区或数据库对象。项目可以是完整的麦、某几列 (使用垂直筛选∶投影)、某几行(使用水玊筛选∶选择)、存储过程或视图定义、存储过程 执行、索引视图或用户定义函数等 注:出版服务器、分发服务器、订阅服务器实际上并不一定是相互独立的服务器,它只 是对 SQL Server在复制过程中所扮演的不同角色的描泷。 SQL Server允许一台 SQL Server服 务器可以扮演不同的角色,如一台出版服务器既可发行出版物,也可以作为分发者来存储和传 快照复制和事务复制。当然一台订阅服务器也可以同时作为其它订购者的出版服务器,只不过该 种情况很少使用。在实际应用中我们决定是否让一台服务器扮演一个或多个角色在很大程度是基 于复制系统性能的考虑。 通常,为了提高分发服务器的效率,降低出版者服务器的负载,忌用某一服务器既做出版服务 器又扮演分发服务器的方法,而是取用专门的服务器承担分发服务器任务从而提高了出版者和 分发者的性能 SQL Server提供了三种复制技术:快照复制、事务复制与合并复制。 在实际应用中,对复制技术的选择,主要依赖于应用桑统对于数据一致性、节点自主性的要求, 及现有的网络资源情况(如网宽和网络传输速度),可以使用一种或多种复制技术 14-1-3 SQL Server复制技术 1.快照复制 快照复制( Snapshot Replication)桑指在某一时刻给出版数据库中的出版数据摄取、照相, 然后将数据复制到订阅服务器。快照复制实现较为简单,其所复制的只是某一时刻数据库的瞬 时数据,复制的成功与否并不影响本地数据库(岀版数据库或订阅数据库)的一致性,在数据 变化较少的应用环境中常使用快照复制。 快照复制提供的选项可以筛选已发布的数据,允许订阅服务器修改复制的数据,并将更改传播 到发布服务器,然后传播到其它订阅服务器,并允许在发布时转换数据
(5)项目。 项目(Item)是指定要复制的数据表、数据分区或数据库对象。项目可以是完整的表、某几列 (使用垂直筛选:投影)、某几行(使用水平筛选:选择)、存储过程或视图定义、存储过程 的 执行、索引视图或用户定义函数等。 注:出版服务器、分发服务器、订阅服务器实际上并不一定是相互独立的服务器,它只 是对 SQL Server在复制过程中所扮演的不同角色的描述。SQL Server 允许一台SQL Server 服 务器可以扮演不同的角色,如一台出版服务器既可发行出版物,也可以作为分发者来存储和传送 快照复制和事务复制。当然一台订阅服务器也可以同时作为其它订购者的出版服务器,只不过该 种情况很少使用。在实际应用中我们决定是否让一台服务器扮演一个或多个角色在很大程度是基 于复制系统性能的考虑。 通常,为了提高分发服务器的效率,降低出版者服务器的负载,忌用某一服务器既做出版服务 器又扮演分发服务器的方法,而是取用专门的服务器承担分发服务器任务从而提高了出版者和 分发者的性能。 SQL Server 提供了三种复制技术:快照复制、事务复制与合并复制。 在实际应用中,对复制技术的选择,主要依赖于应用系统对于数据一致性、节点自主性的要求, 及现有的网络资源情况(如网宽和网络传输速度),可以使用一种或多种复制技术。 14-1-3 SQL Server复制技术 1.快照复制 快照复制(Snapshot Replication)系指在某一时刻给出版数据库中的出版数据摄取、照相, 然后将数据复制到订阅服务器。快照复制实现较为简单,其所复制的只是某一时刻数据库的瞬 时数据,复制的成功与否并不影响本地数据库(出版数据库或订阅数据库)的一致性,在数据 变化较少的应用环境中常使用快照复制。 快照复制提供的选项可以筛选已发布的数据,允许订阅服务器修改复制的数据,并将更改传播 到发布服务器,然后传播到其它订阅服务器,并允许在发布时转换数据