Sql2008 r2使用发布和订阅方式同步数据
由于很多图片 本篇没有图片 详情可以进入下载页 http://download.csdn.net/download/yefighter/7603741
1:发布服务器:发布方 sql2008 r2 iis7.5 windows server 2008
请登入服务器进行操作 不要用sqlserver远程连接
必须开启sqlserver agent服务以及开机自动启动
右键属性
打开sqlserver
点击新建本地发布 第一次发布的时候 会提示创建发布数据库选择第一个就行
选择需要发布的数据库
选择发布类型
这几个类型的区别在发布类型说明里面有:
但是请注意:
快照发布:会重新构建表而且是整个文件流的方式传递
事务发布:只更新需要更新的表(如对该表进行了添加删除和修改);只传递这些更改的数据
其中事务发布和具有可订阅的事务发布需要表有主键;
合并发布和具有可订阅的事务发布 会给表增加一个字段
如:
允许使用可更新订阅的发布中的所有项目均包含名为“MSrepl_tran_version”的 uniqueidentifier 列,用于跟踪对已复制数据所做的更改。SQL Server 将这一列添加到不包含此列的已发布表中。
我们选择使用事务发布方式;并且选择其中一张表进行测试
设置计划时间:点击更改可以修改;本次测试使用1分钟自动更新
其中sqlserver登入名的角色必须包含sysadmin的角色否则在订阅方选择不sqlserver agent;本次使用JDF_Dev账号 用于订阅方进行连接
输入发布名称 完成即可
查看状态是否成功
以及查看文件是否生成
D:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\repldata\unc\AY140102185627Z_JDF_DEV_FF\20140705175515
会多出这些文件
由于要进行文件传输;为了解决两台服务器同步文件权限文件;我们使用ftp的方式同步
选择刚创建的本地发布;右键属性
选择ftp快照
这个时候我们需要创建ftp站点 如果不用iis自带的ftp可以使用server-u等ftp软件操作
关于如果使用server-u在下节讲解
我们这边使用iis自带的ftp
首先打开服务器管理
安装ftp服务
ftp服务创建后
物理路径就输入刚刚生成的文件地址 D:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\repldata\
只需要到repldata文件就行
设置端口为3347同时记得在防火墙新增入站端口
再进入计算机管理
新增windows用户 给ftp使用
本次测试使用ftp01用户
编辑权限
ftp创建成功后进行测试
我使用FlashFTP进行连接测试
连接成功
返回sql刚新增的订阅
右键属性 选择ftp快照
确定后 右键刚新增的发布 选择查看快照状态 选择重新启动
至此 发布方配置完成
2:接受服务器 订阅方
服务器配置是 window server 2008 sqlserver2008 r2英文版本
由于要连接远程服务器 所以需要新建sql别名
打开sql配置中心
新建sql连接别名
新建测试数据库 接受同步数据
然后新建订阅
选择 Find SQL Server Publisher
输入具有管理员权限的sql账号和密码 我们就用之前发布服务器使用的账号JDF_Dev
选择后就会看到 在发布服务器方 刚才新增的发布
选择同步方式
第一种是 由发布方的sql agent 同步 push(推送)的方式 及发布方主动;这个会占用发布方的内存较多
第二种方式是由 订阅方主动请求数据及 Pull(拉)的方式 同步发布方数据;这个会占用订阅方内存较多
以上方式看你服务器配置以及业务需求
本次使用第二种方式
那么相应的如果使用第二个方式同步需要
必须开启sqlserver agent服务以及开机自动启动
回到
上一步 选择next 选择订阅服务器 刚开始创建的需要同步的数据库
上面的登入账号和密码是用来连接发布服务器的 使用JDF_Dev账号
点击finish后在本地订阅会多出一个订阅