最近因项目迁移数据库,需要对SQL server2005 和 SQL server2008上的一个数据库保持数据同步。其中SQL server2005 是数据会更新的库,而SQL server2008则是需要跟SQL server2005 保持同步。SQL server中提供了“复制(Replication)”的功能,但是在配置上还是有很多细节需要注意的。在网上也查找了很多相关资料,经过一天的摸索,终于配置好了,现总结如下:
Replication中有三种角色:1、发布服务器(Publisher),提供发布的数据(称为快照SnapShot);2、分发服务器(Distrbutor):分发Publisher发布的快照,在配置的时候常常配置为Publisher本身;3、订阅服务器(Subscriber):接收Distrbutor分发过来的快照,将其数据库更新为与Publisher的一致。
发布也有两种形式:1、由Publisher来push,那么是Publisher去连接Subscriber服务器,而因为驱动包的问题,SQL server2005 无法访问SQL server2008,所以不采取这种设置;2、由Subscriber来pull,则是Subscriber去连接Subscriber,这里采用这种方式。
配置细节:
一、前提:
1、 在Publisher、Subscriber上都要打开SQL Server的TCP/IP、Named Pipes服务,在SQL Server配置工具中打开;都要启动SQL Server Agent服务。
2、快照文件:快照文件一般是保存在一个Publisher、Distrbutor和Subscriber都有