1、SQL数据库同步方法详细操作手册含图372020年4月19日文档仅供参考SQL数据库同步方法详细操作手册(含图)一、同步前提注意:使用合并复制时sql 不允许更改两边的数据库结构。即两边数据库结构要一样(表数,列数等一致),默认第一次同步源会覆盖目标。有些数据库本身的触发器里含有alter语句,“这种语句和复制(无论哪种)有冲突”(微软)。要建议用户修改这种语句。合并复制的效果:源和目标无论哪方修改以前的数据或增加新数据均会同步给对方。二、新建用户发布服务器,订阅服务器都创立一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 我的电脑-控制面板-管理工具-计算机管
2、理-用户和组-右键用户-新建用户-建立一个隶属于administrator组的登陆windows的用户三、新建共享我的电脑-D: 新建一个目录,名为: PUB-右键PUB目录-属性-共享-选择共享该文件夹-经过权限按纽来设置具体的用户权限,保证第一步中创立的用户具有对该文件夹的所有权限,推荐为everyone有所有权限-确定 测试:从各自两边“运行”输入“对方主机名pub”,就能够匿名访问并新增或修改文件的话就说明配置成功;另外还要从各自两边数据库的“查询分析器”登陆对方数据库,使用远端机器名,能够登陆的话说明配置成功。如果不能用 对方主机名pub 访问,则在网卡属性中添加NETBIOS协议。
3、在cmd的dos下要求能ping远端机器名,返回的结果要能转换成远端的ip地址信息。如不能ping通,则需要修改本地的localhost文件。在windowssystenm32dirveretc目录下hosts.msn文件(用记事本打开)中添加如下内容:127.0.0.1 localhost远端ip 远端机器名四、设置代理服务设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)开始-程序-管理工具-服务-右键SQLSERVERAGENT-属性-登陆-选择此账户-输入或者选择第一步中创立的windows登录用户名-密码中输入该用户的密码完成该步骤设置后要将S
4、QLSERVERAGENT服务设置为自动启动。五、互相注册4.在发布服务器和订阅服务器上互相注册企业管理器-右键SQL Server组-新建SQL Server注册.-下一步-可用的服务器中,输入你要注册的远程服务器名-添加-下一步-连接使用,选择第二个SQL Server身份验证-下一步SQL输入用户名和密码六、开始设置同步1.创立发布:(此数据库为源数据库)选中源数据库,工具复制创立和管理发布2.选择要发布的数据库,如图中为TT3.开始创立4.选择分发服务器恤5.指定快照文件夹(用来存储来自发布服务器的发布快照)6.选择要发布的数据库,如图中为TT7.选择发布类型:(快照发布:适用于订阅服
5、务器不需要始终保持为最新的数据状态,能够为1个小时订阅一次;事务发布:增量订阅,订阅服务器的数据库以增量的形式更新数据库;合并发布:能够在发布服务器和订阅服务器进行数据更新,也就是支持双边的数据库更新,更新后的内容定期在发布服务器上面合并,然后订阅服务器上面的数据库就和发布的一样,也就是双边的数据库只要经过合并发布始终是一致的。)8.下一步9.选择需要同步的表10.下一步11. 下一步12. 下一步13. 下一步14.创立成功配置订阅发布的服务器:1选择要进行订阅的服务器如下图的OWEN,工具复制请求订阅*OWEN*(意思是OWEN需要订阅操作)2.选中要订阅的数据库(把发布的内容订阅到哪个数
6、据库里面)选择ff数据库作为订阅数据库,点击“请求新订阅”3.进入向导4.查看能够订阅的已有发布5.选择想要订阅的发布*如果没有出现图中的划红线部分,则在选中发布服务器,工具复制配置发布,订阅服务器和分发;默认执行后面的步骤就行了。6.sql身份认证7.选择订阅的数据库ff8.初始化订阅,选择默认即可,如果选择“否”,则目标数据库不会被源数据库替换;具体情况如下:(1)数据库合并同步,以“rowguid”为准(2)两边数据库必须有“rowguid”,则必须选择“初始化架构和数据”,否则同步报错如下:(3)当选择“否”时,1)如果两边的“rowguid”不一样时,第一次同步不会更新两边数据,只有
7、当一边的数据发生更新或插入时,才会被当成新数据插入目标中;2)如果两边的“rowguid”一样时,第一次同步不会更新两边数据,只有当一边的数据发生更新或插入时,才会被当成新数据更新或插入目标中,因此说选择“否”只适用于两边的数据库已经做过“合并同步”且留下了相同架构的情况。9.默认10.默认,时间调度能够后面再改11.默认剩下的两三步均为默认。创立完成,运行合并复制:开始运行合并复制,选中源数据库,复制监视器发布服务器“你的发布内容”,如下图的“TT:TT”,左边有“快照”和“请求的订阅(下图是OWEN:ff)”,先保证“快照”全部生成再运行“订阅”。配置定时运行的时间1.“启动代理程序”运行定时2.调度编辑3.能够修改为每天什么时候执行4.修改“订阅”的时间5.设置完以上所有步骤后就能够分别先后运行“快照”和“订阅”了,“订阅”必须在所有“快照”生成完毕后才能执行,因此这两个时间调度之间的间隔要把握好。成功同步后快照和订阅都会显示“已成功”。