php实现异构数据库同步的简单介绍( 六 )


这样一来就不会在创建复制的过程中出现14010、20084、18456、18482、18483错误了 。
4、检查相关的几台sql server服务器网络是否能够正常访问
如果ping主机ip地址可以,但ping主机名不通的时候,需要在
winnt\system32\drivers\etc\hosts(win2000)
windows\system32\drivers\etc\hosts (win2003)
文件里写入数据库服务器ip地址和主机名的对应关系 。
例如:
127.0.0.1localhost
192.168.0.35oracledboracledb
192.168.0.65fengyu02fengyu02
202.84.10.193bj_dbbj_db
或者在sql server客户端网络实用工具里建立别名,例如:
5、系统需要的扩展存储过程是否存在(如果不存在 , 需要恢复):
sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstar.dll'
go
sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstar.dll'
go
sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstar.dll'
go
sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
接下来就可以用sql server企业管理器里[复制]- 右键选择 -[配置发布、订阅服务器和分发]的图形界面来配置数据库复制了 。
下面是按顺序列出配置复制的步骤:
1、建立发布和分发服务器
[欢迎使用配置发布和分发向导]-[选择分发服务器]-[使"@servername"成为它自己的分发服务器,sql server将创建分发数据库和日志]
-[制定快照文件夹]- [自定义配置] - [否,使用下列的默认配置] - [完成]
上述步骤完成后, 会在当前"@servername" sql server数据库里建立了一个distribion库和 一个distributor_admin管理员级别的用户(我们可以任意修改密码) 。
服务器上新增加了四个作业:
[ 代理程序历史记录清除: distribution ]
[ 分发清除: distribution ]
[ 复制代理程序检查 ]
[ 重新初始化存在数据验证失败的订阅 ]
sql server企业管理器里多了一个复制监视器, 当前的这台机器就可以发布、分发、订阅了 。
我们再次在sql server企业管理器里[复制]- 右键选择 -[配置发布、订阅服务器和分发]
我们可以在 [发布服务器和分发服务器的属性] 窗口- [发布服务器] - [新增]- [确定] - [发布数据库] - [事务]/[合并] - [确定]- [订阅服务器] - [新增]- [确定]
把网络上的其它sql server服务器添加成为发布或者订阅服务器.
新增一台发布服务器的选项:
我这里新建立的jin001发布服务器是用管理员级别的数据库用户test连接的,
到发布服务器的管理链接要输入密码的可选框, 默认的是选中的 , 
在新建的jin001发布服务器上建立和分发服务器fengyu/fengyu的链接的时需要输入distributor_admin用户的密码 。到发布服务器的管理链接要输入密码的可选框,也可以不?。?也就是不需要密码来建立发布到分发服务器的链接(这当然欠缺安全,在测试环境下可以使用) 。
【php实现异构数据库同步的简单介绍】2、新建立的网络上另一台发布服务器(例如jin001)选择分发服务器
[欢迎使用配置发布和分发向导]-[选择分发服务器]
- 使用下列服务器(选定的服务器必须已配置为分发服务器) - [选定服务器](例如fengyu/fengyu)
- [下一步] - [输入分发服务器(例如fengyu/fengyu)的distributor_admin用户的密码两次]
- [下一步] - [自定义配置] - [否 , 使用下列的默认配置]
- [下一步] - [完成] - [确定]
建立一个数据库复制发布的过程:
[复制] - [发布内容] - 右键选择 - [新建发布]
- [下一步] - [选择发布数据库] - [选中一个待发布的数据库]
- [下一步] - [选择发布类型] - [事务发布]/[合并发布]
- [下一步] - [指定订阅服务器的类型] - [运行sql server 2000的服务器]

推荐阅读