快照复制概述

 快照复制概述


    快照复制就是在某一时刻对出版数据进行一次“照相”,生成一个描述出版数据库中数据瞬时状态的静态文件,最后在规定时间将其复制到订购者数据库。快照复制并不像事务复制那样要不断地监视、跟踪在出版数据库中发生的数据变化,它所复制的内容不是 INSERT、 UPDATE、 DELETE 语句(事务复制的特征),也不是仅限于那些被修改数据(合并复制的特征)。它实际上是对订购数据库进行一次阶段性的表刷新,把所有出版数据库中的数据从源数据库送至目标数据库,而不仅仅是那些发生了变化的数据。如果论文很大,那么要复制的数据就很多,因此对网络资源需求较高,不仅要有较快的传输速度,而且要保证传输的可靠性。
    快照复制是最为简单的一种复制类型,能够在出版者和订购者之间保证事务的潜在一致性。快照复制通常使用在以下场合:不需要实时数据时,如在进行决策支持、查询静态表信息时;只读订购者(订购者不对出版数据进行修改),并且不需要最近的数据;使用立即更新订购者时对数据库的修改次数和数据量较少。
    快照复制的执行仅需要快照代理和分发代理。快照代理准备快照文件(包括出版表的数据文件和描述文件)并将其存储在分发者的快照文件夹中,除此之外快照代理还要在分发者的分发数据库中跟踪同步作业。分发代理将在分发数据库中的快照作业分发至订购者服务器的目的表中。分发数据库仅用于复制而不包括任何用户表。
    每一次快照代理执行时,都要创建将被分发至订购者的数据文件和描述文件(也称为同步集合)。快照代理主要通过以下几步来完成这一工作(见图16-24)。

(1)从分发者到出版者的连接并在出版物论文中的所有表上加了共享锁。共享锁是为了确保快照数据的一致性,因为共享锁将防止所有的其它用户对表进行修改。快照代理应该被安排在数据库活动较少期间执行。

(2) 快照代理又建立从出版者到分发者的连接,并将每一个表的表描述拷贝至分发者上的一个.sch 文件中,该文件存储在分发数据库工作目录下的一个子目录。如果出版物中包括索引和声明的参考完整性,则快照代理将所有被选择的索引写入分发者的.idx 文件中。

(3) 快照代理对出版者的出版表的数据执行一次快照,并把这些数据写入分发者上的一文件当中。该文件存储在分发数据库的工作目录下的一个子目录中,如果订购者有sql Server, 则快照被做为.bcp 文件存储;如果一个或多个订购者是异构数据库源,则快照被做为字符模式的.txt 文本文件存储同步集合包括.sch 和.bcp 文件,出版物中每一篇论文都有一个同步集合。

(4) 快照代理向分发数据库的Msrepl_commands 和Msrepl_trnsactions 表中插入新行。Msrepl_command 表中的每个记录是指明同步集合和出版者等位置的命令,Msrepl_trnsactions 表中的每条记录是引用订购者同步任务的命令。

(5) 快照代理最后释放在每一个论文上的共享锁。

    每一次为快照代理运行的分发代理将数据和描述文件分发给订购者。分发代理通过以下几步来完成该任务:
(1) 分发代理从其所在的服务器向分发者服务器建立连接,对于推订购,分发代理位于分发者服务器上;对于拉订购,分发代理位于订购者上。

(2) 分发代理检查分发者的分发数据库中的Msrepl_commands 和Msrepl_trnsactions 表从第一个表,读取同步集合的位置并从这两个表读取订购者的同步任务。

(3) 分发代理将在订购数据库中应用在分发数据库的Msrepl_commands 和Msrepl _trnsactions 表中发现的命令,从而将数据文件和描述文件复制到订购者服务器上。如果订购者不是SQL SERVER 数据库,则分发代理将按要求转换数据类型。在出版物中的所有论文都将被同步并在各表中保持事务和参考完整性。
    当有很多的订购者时,应让分发代理运行在订购者服务器上,即使用拉订购。这样可以减轻分发者负载,提高其性能。如果使用推订购,只要订购者订购出版物或在出版物创建时所规划的时间来临,快照代理都会被执行。但是在快照代理执行的规划时间来临时,只有那些没有被同步的订购者才会被同步。

16.3.2 创建快照复制出版物 在SQL Server 中,利用Create Publication Wizard 可以指定哪个数据库为出版数据库,选择表或存储过程来创建论文从而创建复制出版物。

注意:要创建复制出版物必须其有sysadmin服务器角色。 出版物不能跨多个用户数据库。

使用SQL Server Enterprise Manager 创建复制出版物需执行以下步骤:
(1) 启动SQL Server Enterprise Manager, 选中出版者服务器。
(2) 在主菜单中选择Tools, 在下拉菜单中选择Replication, 然后选择Create and Manage Publications 选项,此时会打开Create and Manage Publications On ‘publisher’ 对话框。如图16-25 所示:
(3) 在Databases and Publications 框中选择准备出版的数据库然后当选择Create Publication 选项,打开Create Publication Wizard 对话框,选中show advanced option in Wizard ,如图16-26 所示。

(5) 选择指定的出版数据库后,单击“下一步”,打开select Publication Type 对话框,如图16-28 所示,从中选择所使用的复制类型。

(7) 单击“下一步”,打开Specify Subscriber Types 对话框,如图16-30 所示。 SQL Server 2000 提供了三种类型订购者;SQL Server 2000 订购者,SQL Server 7 订购者和异构订购者。如果选择了SQL Server 7 订购者类型,则一些SQL Server 2000 的新增特性将无法使用。在这里我们选择Server running SQL Server 2000 选项。

(9) 单击表格中被出版的表右边的方框按钮打开论文属性对话框,如图16-32 所示, General 标签页主要显示论文(表)的基本信息,包括论文名,有关论文的描述、出版表的所有者、表名以及目标表的所有者。

    注意:因为快照复制是将出版数据包括表的结构描述文件和数据文件通过当分发人工理复制到订购者,且订购者在初始同步时已在订购数据库中创建了同名、同结构的表,那么订购者是如何接收这些复制数据呢?可采用以下几种方式:将表删除后再重建;删除那些与从出版者复制过来的数据相匹配的数据行,而保留不匹配的数据行;删除表中数据但保留表结构;不删除表和表中数据,而将数据添加到表中。
    在Name Conflict 区域可以选择一种数据接收方式,即名字冲突的解决方式。在Copy objects to destination 区域设置在将主键索引拷贝到目标数据库的同时是否也将复制其它选项,比如出版表上的聚簇索引或非聚簇索引、参照完整性约束、用户自定义的触发器等。 Convert user_defined to base data type 复选框用来确定是否将出版表中用户和自定义数据类型在复制到目标表后转换成其源数据类型(SQL Server 支持的基本数据类型)。
(11) 单击“确定”按钮,回到Specify Article 对话框,然后单击“下一步”按钮,打开Article Issue 对话框,如图16-34 所示。
(12) 打开Select Publication Name and Description 对话框,如图16-35 所示。在Publication name 文本框中输入出版物的名称;在Publication description 文本框中输入有关出版物的描述文字。
    我们建议除了默认了描述信息外,应该输入其它一些信息,这样当在该出版数据上创建多个出版物不至于混淆。

(13) 单击“下一步”,打开Customize the Properties of the Publication 对话框,如图16-36 所示。
    可通过选中Yes 或No 选项来决定是否对有关出版物的其它属性项进行自定义设置或使用SQL Server 的默认设置。在滑动框内可以浏览出版物的默认属性。在这里我们选择 Yes, I will define data filters…选项。

(15) 单击“下一步”按钮,打开Filter table Column 对话框,如图16-38 所示。在Columns in selected table 下的表格内清空左边的复选框表示出版论文中不包括该列。

注意:在空白区域输入的不是整个select语句,也不必输入where关键字,只需在where关键字后输入条件表达式即可,条件表达中出现的列必须包含在出版表中。
(17) 单击“下一步”,打开Allow Anonymous Subscribers 对话框,如图16-41 所示,选择Yes 表示允许匿名订购者订购出版物;选择NO 表示只有那些被启用为订购者角色的服务器才可以订购出版物。

(19) 单击“下一步”,打开创建出版物完成对话框,如图16-43 所示。在滑动窗口可浏览出版物的创建信息,若想更改某些设置,可按“上一步”,回到上个对话框。单击“Finish”, 完成出版物创建。

(6) 单击“下一步”,打开Set Distribution Agent Schedule 对话框,如图16-47 所示。如果希望出版者与订购者之间迅速实现数据的一致性,可选择Continuously 选项,表示分发代理处于不断的运行状态。选择Using the follow scheduling 表示在规划的时间运行分发代理。
(7) 单击“下一步”弹出Initialize Subscription 对话框,如图16-48 所示,订购初始化是指快照代理开始运行并在订购者生成同步集合(描述文件和数据文件),随后分发代理将同步集合分发到订购者。如果已经进行手工同步,则不必进行订购初始化。Yes ,initialize the schema and data at the subscriber 选项表示由SQL Server 来完成订购初始化工作。

(8) 单击“下一步”,打开Updatable Subscription 对话框,如图16-49 所示。其各选项的具体含义请参看“16.6 复制选项”一节。
(9) 单击“下一步”,打开Start Required Service 对话框,如图16-50 所示,在该对话框的表格内列出运行同步处理的服务。所有复制类型都需要启动SQL Server Agent, 如果是立即更新订购者的快照复制和事务复制,则还需要MS DTC 。若选中左边的复选框,则订购创建后该服务就会自动启动,否则必须以后手工启动。

(10) 单击“下一步”,打开Completing the Push Subscription Wizard 对话框,如图16-51 所示。单击“完成”,结束订购创建操作。
16.3.4 管理出版物
    在创建出版物结束之后,或在设置了拉或推订购之后,仍可对绝大多数复制选项进行重新设置。其中主要包括:论文的内容、订购的属性、快照文件的位置、具有存取出版物的用户、复制更新相关选项等。而且也可以将出版物删除,重新创建新的出版物。在 Enterprise Manager 中,对于出版物相关的复制选项进行重新设置要执行以下步骤:
(1) 单击Tools 菜单项,在下拉菜单中选择Replication, 然后再选择Create andManage Publication 选项,打开对话框。
(2) 在Databases and Publications 中选中已创建的出版物,然后再单击Properties and Subscriptions 按钮,打开Publication Properties 对话框,如图16-52 所示。通过选中各相关标签页,可以重新对其属性进行设置,各选项的具体含义请参看本章前面所作的介绍。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值