名词解释:
1、初始快照:就是将发布服务器上的发布表里面的数据全部复制到订阅服务器订阅的表中
2、发布是一个数据库中的一个或多个项目的集合。 将多个项目分组成一个发布,使得更便于指定一组作为一个单元复制的、具有逻辑关系的数据库对象和数据。
3、 订阅服务器:订阅服务器是接收复制数据的数据库实例。 订阅服务器可以接收来自多个发布服务器和发布的数据。 根据所选的复制类型,订阅服
务器还可以将数据更改传递回发布服务器或者将数据重新发布到其他订阅服务器。
数据库复制主要提供了三种复制方式:
一、事务性复制通常从发布数据库对象和数据的快照开始。创建了初始快照后,接着在发布服务器上所做的数据更改和架构修改通常在修改发生时(几乎实时)便传递给订阅服务器。数据更改将按照其在发布服务器上发生的顺序和事务边界,应用于订阅服务器,因此,在发布内部可以保证事务的一致性。
事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制:
二、合并复制与事务性复制相同,通常也是从发布数据库对象和数据的快照开始,并且用触发器跟踪在发布服务器和订阅服务器上所做的后续数据更改和架构修改。订阅服务器在连接到网络时将与发布服务器进行同步,并交换自上次同步以来发布服务器和订阅服务器之间发生更改的所有行。
合并复制通常用于服务器到客户端的环境中。合并复制适用于下列各种情况:
三、快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新。发生同步时,将生成完整的快照并将其发送到订阅服务器。快照复制是完全按照数据和数据库对象出现时的状态来复制和分发它们的过程。快照复制不需要连续地监控数据变化,因为已发布数据的变化不被增量地传播到订阅服务器,而是周期性的被一次复制。 快照复制用于为事务复制和合并复制提供初始数据集;在适合数据完全刷新时也可以使用快照复制。
简单的说一下他们的区别:
快照复制和事务复制是单向的,合并复制是双向的
快照复制每次都把所有的数据同步一次,事务和合并复制都是一直保持联系,只更新修改的部分
快照复制对表结构没有要求,事务复制要求表有主键,合并复制要求表有 rowguid 列
这里主要讲解合并复制,步骤如下:
1、首先在我们的发布服务器上建立一个发布,Replication->Local Replications->New Replication
选择我们要发布的数据库,点击下一步:
选择第四个——合并发布
这里是核对你的订阅服务器的数据库类型,我现在的是2008的,所以勾选2008,然后下一步
这里选择我们想要发布的表和视图,勾选后连续点击下一步到如下界面:
这里是创建一个快照,同时确定安排快照代理执行的周期,如果需要即时的同步的话,可以把第二个框勾掉不要,我这里勾掉不要,然后下一步:
点击安全设置:
注意上面第二个红框填写的是当前发布服务器的帐号和密码,然后点击ok,然后一直下一步,最后填写一个发布的名字(我的是demo),最后完成,
这样我们的发布服务器上的一个发布已经完成了,接下来在我们的订阅服务器上创建“订阅”。
1、在订阅服务器上Replication->Local Subscriptions->New Subscriptions
选择Find SQL Server Publisher然后登录我们的发布服务器,选择我们的名字为demo的”发布“
选择我们的需要订阅到数据库的名称,我这里是demo
点击红圈中的按钮
这里红框中填写的帐号和密码是我们订阅服务器的帐号的和密码
这里我们选择Run continuously也就是一直和服务器保持联系
我们这里选择Immediately,这样我们修改任何一个服务器的时候,他都是立刻进行更新
点击finish然后就完成了我们订阅服务器的配置。
到此为止,我们的合并复制的发布和订阅服务器已经配置完成,这是我们无论在我们发布的数据表中或者订阅的数据表中写入数据,他们都会同步更新。