开始前,你必须确保实例已经安装了Replication Componets,否则会报错,详情请见MS SQL 2008 发布订阅配置遇到的错误,在服务器A上,打开SSMS,右键单击Local Publication(本地发布),选择New Publication(新建发布)
(图1)
然后就进入新建发布的向导了,如果第一次新建发布,有可能出现下面图2、图3,否则不会遇到这些界面
(图2)
不建议将快照文件夹放在C盘,最好设置在其它非系统磁盘。如果下面你不用UNC路径并且共享改目录,必须设置可读权限,否则后面你可能会碰到一个让你棘手的错误,具体参见MS SQL 2008 发布订阅配置错误总结
(图3)
选择你要发布的数据库,这里只能单选,不能选择多个数据库。
(图4)
接下来,关于选择发布类型,根据你的实际情况,选择合适的发布类型
快照复制:快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新。发生同步时,将生成完整的快照并将其发送到订阅服务器。 当符合以下一个或多个条件时,使用快照复制本身是最合适的:
1: 很少更改数据。
2: 在一段时间内允许具有相对发布服务器已过时的数据副本。
3: 复制少量数据。
4: 在短期内出现大量更改。
事务复制:事务复制通常用于服务器到服务器环境中, 在以下各种情况下适合采用事务复制:
1: 希望发生增量更改时将其传播到订阅服务器。
2: 从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。
3: 应用程序需要访问中间数据状态。 例如,如果某一行更改了五次,事务复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。
4:发布服务器有大量的插入、更新和删除活动。
5:发布服务器或订阅服务器不是 SQL Server 数据库(例如,Oracle)。
发布订阅默认最小时间间隔就是10秒,即使你选择的时间是实时,但其实也不会是实时。你可以将发布订阅看成是由sqlserver建立的一系列job,在这些job里自动完成你需要的数据同步工作。想要真正理解这个10秒间隔,理解整个发布订阅的数据流程,你就会非常清楚。首先发布库做自己的事务,完成后写到自己的日志;
然后在分发服务器上有个日志读取器,它会隔一会就来读取一下有没有新日志,有就进行分发工作,没有就继续等待;
订阅收到日志,然后进行重建工作,让订阅端也能看到对应的数据。
可能你会觉得为什么日志读取器不一直standby,因为这需要成本,而数据库是非常在意成本的,所以不会一直读取,而是隔一个很小的间隔读取一次。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)