在执行复制之前必须对系统进行复制选项的配置,主要包括:
出版者
订购者
分发者
分发数据库
通过SQL Server Enterprise Manager 提供的Create Publication Wizard 和 the Configure Publishing and Distribution Wizard, 将会使配置工作变得简单,迅速。
16.2.1 创建服务器角色和分发数据库
创建服务器角色是指在复制过程中某一服务器是作为出版者、分发者还是作为订购者。由于SQL 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 所示。
(3) 从中可以得知通过该向导能够实现哪些复制配置,单击“下一步”继续操作,此时弹出Select Distributor 对话框。如图16-6 所示。
在该对话框中可以使用默认选项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 将自动配置复制选项,它将把当前服务器作为分发者,分发数据库和事务日志被放在MSSQLdata 目录下,所有登记的服务器都被选为订购者。您也可以选择自定义选项,即Yes, Let’s…. 选项来对分发者、出版者、订购者、分发数据库进行配置(我们将在下一节对其进行具体的介绍)。在这里我们选择默认选项。
(6) 单击“下一步”,然后在打开窗口(如图16-8 所示)中单击“Finish” 按钮,此时会弹出一个报告窗口Configure publishing and distribution on ‘server _name’ 来显示创建进度。通过该窗口能了解SQL Server 完成了哪些工作。
16.2.2 配置复制选项
在创建服务器角色和分发数据库之,后利用SQL Server Enterprise Manager 可以进行复制选项的配置和管理,主要包括:
配置分发选项
设定出版选项
设置出版数据库
设置订购者选项
删除分发者
1 配置分发选项
利用SQL Server Enterprise Manager 执行配置分发选项的步骤为:
(1) 启动SQL Server Enterprise Manager, 选中要进行分发选项配置的分发者服务器。
(3) 单击标签页上的“New”, 按钮将添加新的分发数据库,或使用“Delete” 从 Distribution database 选项栏的Database 框中选中删除一个已存在的分发数据库,若要对分发数据库进行属性设置,则首先选中该分发数据库,然后单击 Properties 按钮,打开distribution Properties 对话框,如图16-10 所示。
该对话框提供了以下信息:分发数据库名称;在Publishers 下的多行编辑框内显示使用该分发数据库的出版者;Transaction retention 用来设定事务保存在分发数据库中最短时间与最长时间(该选项对于备份和恢复分发数据库很有意义);History retention 用来设定复制性能历史记录的保存在分发数据库的时间。如果选用的单位为小时,则保存时间的取值范围为0 至9999 ;如果单位为天,则取值范围为0 至416。
(4) 单击Agent profiles 选项栏中的Agent profile 按钮,打开Agent profile for “server_name” 对话框,如图16-11 所示。
该对话框用来对复制代理快照(代理日志、阅读代理、分发代理、合并代理、阅读日志代理)运行参数进行设置。当创建复制代理时,将生成与其相关的Agent profile, 它由分发者维护。复制代理每次启动时都要从Agent profile 中读取信息,来确定自己的运行方式。通过Copy 按钮,可以创建新的Agent profile; 通过 View Details 可以查看或修改各参数的值,如图16-12 所示;通过 Delete 可以删除Agent profile。
2 配置出版选项
在配置完分发选项后,就可以配置出版选项来指定哪个出版者将使用已创建的分发者和分发数据库。SQL Server 允许多个出版者使用同一个分发数据库。如果出版者是一台远程服务器,那么它必须有访问分发数据库的权限。使用SQL Server Enterprise Manager 来允许出版者使用分发数据库的步骤如下:
(1) 启动SQL Server Enterprise Manager, 选中分发者服务器。
(2) 在主菜单中选择Tools, 在下拉菜单中选择Replication, 然后选择Configure Publishing, Subscribers and Distribution 选项,此时会打开Publisher and Distributor Properties 对话框,选中Publisher 标签。如图16-13 所示。
(3) 通过选中Server 表格内的空白框来指定该出版者是否使用当前分发数据库。
(4) 单击分发数据库旁的方框按钮,打开如图16-14 所示的出版者属性设置对话框。进行其它选项的设置。
如果分发者上有多个分发数据库,则应为出版者选择一个分发数据库。在Snapshot folder 设置出版物快照文件存放的位置。如果对于出版者来说,该分发者是远程的,则必须保证运行在出版者上的快照代理具有访问分发者快照文件的权限。
若分发者服务器运行在NT 平台上,在默认情况下,快照文件存储路径为\<computer><driver>Microsoft SQL ServerMSSQLReplData。
若分发者服务器运行在Window95/98 下,则快照文件的存储路径为\<computer><driver>Microsoft SQL ServerMSSQLReplData。 如果采用拉订购模式,则快照文件必须存储成网络路径格式。这样运行在订购者和出版者上的复制代理才能正确地访问快照文件。
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”, 完成整个向导。