要实现SQL Server2005与2005的数据库同步的话,直接用镜像就可以实现。但是如果同步 SQL Server2008的话,2005的实例是连接不上08的。低版本的无法连接高版本的。所以我们可以通过复制的方式,也就是所谓的订阅发布的方法来实现两个不同版本数据库的数据同步。
1,复制简介
简单的说,复制是获取一个或多个数据库的过程,它系统的针对出入不同数据库的数据,提供基于规则的拷贝机制。
复制分为三种角色,
1,发布服务器
发布服务器可以被看成是源数据库。
2 ,分发服务器
分发数据库针对更改而承担类似某些票据交换所的工作,他是一个特殊的分发数据库,用于对更改进行跟踪,同时也跟踪哪些订阅服务器已经收到了这些更改。除此之外,它还跟踪任何同步过程的结果,并知道发生了哪些必须解决的冲突。
3,订阅服务器
任何参与到于复制发布过程的数据库,订阅服务器并不只能接受数据,它还可以传播数据。订阅服务器可以请求订阅,也可以推送订阅。
请求订阅:由订阅服务器来决定什么时候去更新数据。
推送订阅:由发布数据库决定什么时候向订阅服务发生更新数据。
2,SQL Server2005与SQL Server2008数据库同步
操作步骤大致如下:
配置 SQL Server2005 发布数据库
1,以windows账户登录,确保SQL Server代理已经打开,新建数据库[TestFabu]
2,在[复制]节点下,新建发布.下一步 选择数据库[TestFabu]
3,这里选择快照发布,下一步,选择需要同步的表结构以及存储过程等等。
#p#
这里设置sa账户,只要有权限操作数据库的账户就可以。
完成之后,在这个发布上右键属性
我们选择FTP,应为我这两个数据库没有在同一台电脑上。
设置默认位置
保证该默认位置ftp可访问,并且有读取的权限,将ftp定位到根目录。
发布服务器配置完成
#p#
配置订阅服务器
同样以windows账户登录.
这里是不允许通过IP访问的,在host文件里面做一个映射,然后通过名称访问.
这里我们用上文提到的请求订阅。
链接发布服务器的sa数据库。
这里可以按计划来请求订阅。
订阅成功。
同事查看属性里要以FTP访问。
3.总结
这样我们就实现了SQLServer2005与SQLServer2008的数据库同步,这里如果要实时同步数据的话最好用事务复制,快照复制适合间隔性的同步。
原文链接: http://xiaogangblog.com/archives/326
【编辑推荐】