华中理工大学电力技术研究所 沈宇亮 ---- 在企业级的网络环境中,异种操作系统同时并存的现象越来越普遍地存在, 在部 门级服务器中采用微软的NT服务器,企业的总服务器采用unix服务器。在许多系 统集成 的方案与实施中屡见不鲜,在不同操作系统之间运行的数据库内容的共享是一个 普遍令 人关心的问题。在这里介绍各大数据库均使用的复制技术实现数据向中心汇集, 并可方 便地实现集中式备份。实现的实例是SQL SERVER 6.5向SYBASE 11.9.2 for SCO unix复 制。
---- 1. 操作环境介绍
---- 1) NT 4.0中文版 SP4
服务器名:dls SQL SERVER 6.5 数据库: pubs, comm SYBASE OPEN CLIENT 11.9.2
---- 2) SCO unix 5.03
服务器名: jc Sybase 11.9.2 for SCO unix 数据库: pubs2
---- 3) 网络间的通讯协议: TCP/IP
---- 2. 复制拓朴 (图略)
person的表结构 CREATE TABLE dbo.person( Id int NOT NULL, Name Varchar(10) NOT NULL, CONSTRAINT PK_person PRIMARY KEY CLUSTERED( id ) )
---- 3. 复制的操作步骤
---- 1) 以管理员身份的用户启动MSSQL SERVER 及 SQL EXCUTIVE 服务。
---- 2) 使用SQL Enterprise Manager/Replication Configureation / insta ll publishing制作分发数据库distribution,实验时取数据设备为15M,日志设备为 5M。
---- 3) 在NT上使用Sybase Central建立一个名为Sybase的服务器,用于联接u nix服 务器上的SQL SERVER并调通。
---- 4) 在NT服务器上使用第三步建立的服务器建立一个名为Sybase的ODBC 数 据源用 来联接unix服务器。
---- 5) 使用SQL Enterprise Manager/Replication Configuration/Publish设 置 pubs为出版数据库,并设置两个订阅服务器,一个为dls,另一个为ODBC Subscr iber, 选择已定义好的sybase数据源,并提供登录用户及登录密码。
---- 6) 使用SQL Enterprise Manager/Replication Configuration/Subscrib e设置 本地的COMM库为订阅数据库。
---- 7) 设置完后NT显示的复制拓朴图如下所示:(图略)
---- 8)设置向本机复制使用的出版物pub_nt其中包括一篇出版文章为person
---- 9) 以同样的方法设置向unix服务器的复制使用的出版物pub_unix,注意进 行设置 时Synchronization选项卡中的initial Synchronizaton的method 为Bulk Data
Copy – Character Format ( Compatibility )
---- 10)把pub_nt的内容发向dls的comm数据库,同步的类型可以选为手工同步, 自动 同步或不同步中的任意一种。
---- 11)把pub_unix的内容发向sybase服务器的pubs2数据库,同步的方法只能设 为不 同步(No Data Synchronization )
---- 12)向NT的pubs数据库中插入三行数据。
Insert person values( 1, ‘a’ ) Insert person values( 2, ‘b’ ) Insert person values( 3, ‘c’ )
---- 13)查看NT的distribution库中msjob_commands表内容,发现SQL SERVER 日志读 任务可以完整地记录下对数据库的操作。列表如下:
publisher_id publisher_db job_id command_id art_id incomplete command ------------ -------------- --------------------- 0 pubs 14 1 6 0 insert into "person" values (1, 'a') 0 pubs 14 2 7 0 insert into "person" values (1, 'a') 0 pubs 15 1 6 0 insert into "person" values (2, 'b') 0 pubs 15 2 7 0 insert into "person" values (2, 'b') 0 pubs 16 1 6 0 insert into "person" values (3, 'c') 0 pubs 16 2 7 0 insert into "person" values (3, 'c')
---- 14)查看二个目的数据库中的person表,看新插入的记录是否成功地把表内 容复制 到目的表中,如没有则需要看分发任务(任务类型为distribution)的执行情况 。依据 错误提示进行修改。常见的操作可能是服务器未联上或延时错误等。
-- 如果你觉得可笑的话,那么你错了 如果你觉得不可笑的话,那么我错了。
※ 来源:.网易虚拟社区北京站 http://bj.netease.com.[FROM: 202.96.31.244]
|
|