在执行复制之前必须对系统进行复制选项的配置,主要包括: 出版者 订购者 分发者 分发数据库 通过sql server enterprise manager 提供的create publication wizard 和 the configure publishing and distribution wizard, 将会使配置工作变得简单,迅速。
16.2.1 创建服务器角色和分发数据库 创建服务器角色是指在复制过程中某一服务器是作为出版者、分发者还是作为订购者s捎赟ql server 可以扮演一个或多个角色,所以我们必须指定由哪个服务器来扮演哪些角色。 分发数据库(distribution database) 用来存储复制给订购者的所有事务以及出版者与订购者的同步信息。在分发数据库有很多与复制有关的系统表。进行复制前必须首先创建分发数据库(与系统有关的系统表会自动生成),同时指定出版者、出版数据库、分发者、订购者。使用sql server enterprise manager 来创建分发数据库主要按以下步骤: (1) 启动sql server enterprise manager, 选中准备扮演出版者角色的服务器。 (2) 在主菜单上选择tools 菜单项在下拉菜单中再选择replication 选项,选中configure publishing, subscribers, and distribution 选项,此时会弹出welcome to the configure publishing and distribution wizard 对话框。如图16-5 所示。
在该对话框中可以使用默认选项make ‘xujin’ its own distributor; sql server will create a distribution database and log 来指定当前出版者服务器扮演分发者角色,若选择此选项,则会在分发者服务器上创建一个分发数据库和日志。如果选择另外一个选项,应该注意被选定的服务器必须已被配置为分发者且已经创建了分发数据库。在此使用默认选项, (4) 单击“下一步”,此时弹出configure sql server agent 对话框。如图16-7 所示。选择yes 选项表示自动启动sql server agent, 选择no 选项,则表示手工启动sql server agent。
(5) 单击“下一步”,弹出customize the configuration 对话框。在该对话框内如果选择默认的选项。即no, use the following default setting ,那么sql server 将自动配置复制选项,它将把当前服务器作为分发者,分发数据库和事务日志被放在/mssql/data 目录下,所有登记的服务器都被选为订购者。您也可以选择自定义选项,即yes, let’s…. 选项来对分发者、出版者、订购者、分发数据库进行配置(我们将在下一节对其进行具体的介绍)。在这里我们选择默认选项。 (6) 单击“下一步”,然后在打开窗口(如图16-8 所示)中单击“finish” 按钮,此时会弹出一个报告窗口configure publishing and distribution on ‘server _name’ 来显示创建进度。通过该窗口能了解sql server 完成了哪些工作。
3 配置出版数据库 在为出版者指定分发数据库之后还需要设定用于出版的数据库,然后才能在出版数据库上创建出版物。设定一个用于出版的数据库需要执行以下步骤: (1) 启动sql server enterprise manager, 选中分发者服务器。 (2) 在主菜单中选择tools, 在下拉菜单中选择replication, 然后选择configure publishing, subscribers and distribution 选项,此时会打开publisher and distributorproperties 对话框,选中publication database 标签。如图16-15 所示。
(3) 在database 下的表格内单击trans 或merge 列下的复选框来设定出版数据库是用于事务复制还是合并复制。 当然也可以通过复选框来禁止某一数据库来出版出版物。如果某一出版数据库被禁止出版,那么在该数据库中已创建的出版物将被删除掉。 4 配置订购选项 当设置完分发数据库选项和出版活动选项后,就必须设置订购者,以让其知道从哪里接收复制数据。使用sql server enterprise manager 使上一个远程服务器扮演订购者角色需执行以下步骤来进行选项配置: (1) 启动sql server enterprise manager, 选中分发者服务器。 (2) 在主菜单中选择tools, 在下拉菜单中选择replication, 然后选择configure publishing, subscribers and distribution 选项,此时会打开publisher and distributor properties 对话框,选中标签 。如图16-16 所示; (3) 在subscribers 下的表格中单击复选框来指定某一远程服务器扮演订购者角色。
(4) 单击enable all, 则表格中所列出的所有服务器都作为订购者从出版者接收复制数据;单击enable none, 则禁止表格中服务器从出版者接收复制数据;单击new 表示添加新的订购者,将打开 enable new subscriber 对话框。如图 16-17 所示。 添加新的订购者时,可以添加sql server 订购者,也可以添加异构订购者。sql server 支持三种异构订购者,它们是: sql server database microsoft access odbc 数据源 ole db 数据源
在使用异构订购者前必须首先创建相应的数据源。不同的非sql server 数据源有不同的创建要求和限制,比如,是否包含用户名,对数据类型的支持范围不同。另外,还应注意以下几点: 在通常情况下非sql server odbc 数据源只能作为订购者;快照复制和事务复制适用于所有非sql server 订购者;异构订购者只能使用推订购的方式。 (5) 如果并不打算添加新的订购者,则不必执行step4。 通过单击表格中订购者右边的方框按钮可打开订购者属性对话框,对其它属性项进行设置。如图16-18 所示。
在该对话框内显示订购的类型(sql server odbc ole db), 以及关于订购的描述信息。在agent connection to subscriber 下的选项栏中,通过选中单选按钮设置复制代理日志写入订购者时的安全认证模式和设置。如果选择impersonate the sql server agent account on ‘xujin’ (trusted connection)选项,则表示利用出版者上sql server agent 账号来进行认证,默认情况下使用该设置。use sql server authentication 表示使用sql server 认证模式,此时要求通过输入账号和密码来建立一个信任连接。
(6)选中schedules标签,出现如图16-19所示的对话框。 使用该对话框来设置分发代理或合并代理运行的缺省时间。在默认情况下为continuously。若选择at the following scheduled times,则单击change按钮会打开edit recurring job schedule对话框。如图16-20所示。在该对话框可对代理运行的时候表进行设置。
16.2.3 删除复制配置信息 可以对复制配置,当然也可以使这些复制选项的配置无效。在sql server 中disable publishing and distribution wizard 可以帮助我们完成这一任务,而且只要禁用分发者便可以对复制产生以下影响: 在分发者上的分发数据库将被删除; 所有使用该分发者的出版者服务器将丧失出版者角色,并且出版者的所有出版物被删除; 所有订购也被删除。
如果此向导能登录到出版者,则在禁用出版者之前会删除所有出版物;如果不能,则虽然禁用出版者但是出版数据仍存在于以前的出版者上,必须使用手工操作来删除。 使用sql server enterprise manager 来禁用一服务器扮演分发者角色需执行以下步骤: (1) 启动sql server enterprise manager, 选中分发者服务器。 (2) 在主菜单中选择tools, 在下拉菜单中选择replication, 然后选择disable publishing…. 选项,此时会打开disable publishing and distribution wizard startup 对话框,如图16-21 所示,从中可以看到该向导能够实现哪些功能。 (3) 单击“下一步”按钮,打开disable publishing 对话框。如图16-22 所示。在该对话框内如果选择yes, disable publishing on…..选项,则会禁用分发者以及出版者,并且删除分发数据库和出版者上的出版物(在有些情况下仍保留分发数据库)。单击“下一步”按钮,sql server 将按要求执行相关处理。如果选择no, continue to use “distributor” as a distributor 选项,则不会进行任何处理。 (4) 单击“下一步”按钮,sql server 将按要求执行相关处理,同时弹出一个进行对话框,如图16-23 所示。 (5) 通过单击“cancel” 可以取消操作,单击“finish”, 完成整个向导。