研究基于ftp的事务发布,用于同步数据库,弄了快2天,终于解决了什么ftp路径不对的错误,将详细步骤记录下来。
(注意,所有服务器连接均需要采用机器名,如果机器名无法访问请修改host文件映射机器名与ip地址)
1. 创建发布服务器
在主服务器上选择 复制-》本地发布,右键本地发布,选择新建发布打开新建发布向导,按一下步骤选择(未出现的界面则按照默认设置)
选择需要发布的数据库
选择“事务发布”
选择需要同步的对象
勾中“立即创建....”
点击 代理安全性中的安全设置,在弹出的框中按上图设置,sa为当前数据库的用户名和密码
输入发布名称
完成发布的创建,接下来看看ftp的状况
ftp的根地址为:ftp://demoserver/,对应的地址为C:\\dbpub
然后我们在此路径下创建一个目录用于保存快照(snapshots)
C:\\dbpub\snapshots
ftp://demoserver/snapshots
完成后需要修改此发布的属性
更改“ftp快照”选项卡中的选中部分为“\snapshots\ftp” 注意:ftp目录目前实际不存在,sqlserver会自动创建
修改“快照”选项卡内容,如上图所示,勾中“将文件放入下列文件夹”,然后地址选则ftp目录的实际目录,完成ftp目录会得到如下文件
看到如此目录则恭喜,发布创建成功了!
2. 创建订阅
连接上订阅服务器,然后依次选择 复制-》本地订阅, 右键选择“新建订阅”,然后按照如下步骤执行,无图界面则按照默认设置
查找发布服务器,地址一定要是机器名
选择“在其订阅服务器上运行每个代理(请求订阅)”
选择需要订阅的数据库
在分发代理安全性中点击“....”然后按上图设置,其中sa的账号密码为主服务器用户名和密码
成功创建订阅
接下来测试几条数据
删除主服务器上的一条数据
在备份服务器上查询,记录已经更新
插入一条新记录
备份服务器数据更新
通过这种方式,一般情况下可以解决由于ftp目录不对导致的问题。
在实验出此解决方案之前,遇到了很多ftp路径不对的问题,主要是ftp返回503错误。还有就是权限问题,采用这种配置方式解决了这些问题。
希望对你有帮助!