(5) 选择指定的出版数据库后,单击“下一步”,打开select publication type 对话框,如图16-28 所示,从中选择所使用的复制类型。
(6) 单击“下一步”,按钮打开updatable subscriptions 对话框,如图16-29 所示。 immediate updating 选项表示订购者在对复制数据更新后,立即将这些变化反映到出版者;queued updating 选项表示订购者在对复制数据更新后,首先将这些更新事件包裹在消息中,并将这些消息存储在订购者和分发者的消息队列中,然后队列阅读代理将从分发者的消息队列中读取这些更新事件,并将其应用到分发者上。可以选择任意一个选项,也可以将其都选中。如果不做出选择,则单击“下一步”之后将打开transform published data 对话框与(imme- diate updating 和queued updating 复制选项以及transform published data 有关的问题,我们将在“16.6 复制选项”一节做详细介绍)。在此我们选择queued updating。
(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 标签页主要显示论文(表)的基本信息,包括论文名,有关论文的描述、出版表的所有者、表名以及目标表的所有者。
(10) 选择snapshot 标签,如图16-33 所示。
注意:因为快照复制是将出版数据包括表的结构描述文件和数据文件通过当分发人工理复制到订购者,且订购者在初始同步时已在订购数据库中创建了同名、同结构的表,那么订购者是如何接收这些复制数据呢?可采用以下几种方式:将表删除后再重建;删除那些与从出版者复制过来的数据相匹配的数据行,而保留不匹配的数据行;删除表中数据但保留表结构;不删除表和表中数据,而将数据添加到表中。 在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…选项。
(14) 单击“下一步”打开filter data 对话框,如图16-37 所示。如果准备提高应用程序性能,提高复制数据在网络上的传输速度,尽力减少订购数据库存储和维护复制数据的数据量,则应根据各订购者对数据的具体要求选择适当的过滤类型,如垂直过滤或水平过滤。在这里我们将两个选项全部选中。
(15) 单击“下一步”按钮,打开filter table column 对话框,如图16-38 所示。在columns in selected table 下的表格内清空左边的复选框表示出版论文中不包括该列。
16.3.3 订购出版物 在创建完出版物之后,必须订购出版物才能实现数据的复制。在订购出版物之前应在订购者上创建订购数据库。在订购时要进行以下选项的设置: 由哪些订购者来订购出版物 选择目标(订购)数据库 订购属性 在sql server enterprise manager 中,利用推(拉)订购向导来订购出版物需执行以下步骤: (1) 启动sql server enterprise manager, 选中出版者服务器。 (2) 在主菜单中选择tools, 在下拉菜单中选择replication, 然后选择push subscriptions to others 选项,此时会打开create and manage publications on ‘publisher’ 对话框。单击出版数据库旁的“+ ”,会显示当前出版数据库中的所有出版物。如图16-44 所示。 (3) 选中将被订购的出版物,单击push new subscription 按钮,打开welcome to the push subscription wizard 对话框,选中show advanced option in the wizard 复选框。单击“下一步”打开choose subscribers 对话框。如图16-45 所示。 (4) 在enabled subscribers 下选择已被启用的订购者,单击“下一步”打开choose destination databases 对话框,如图16-46 所示。 (5) 在subscription database name 下的编辑框中输入目标数据库名称,或单击 browse or create 按钮,将会弹出browse databases 对话框。在空白框中列出选中订购者上的所有数据,从中选择某个数据库来准备接收复制数据,也可以单击“create new” 来创建新订购数据库。
(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 所示。单击“完成”,结束订购创建操作。