SQL Server发布订阅功能研究
前提:
发布订阅只能是同一个内网的机器上才能使用,其实这个可以用配置管理器的别名功能设置之后就可以了,外网的也能通过这样的方式来搞。
配置过程参考老D的文章:http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html
原理图:
单向:

双向:

参考:http://bbs.51cto.com/thread-1165966-1.html
SQL Server发布订阅功能测试:
(我发觉这个功能很不行,为什么不行,我下面其中一台设置错误了就要全部重来,那么如果我下面有几百台机器,怎么重来?)
1、采用事务发布/快照发布进行发布订阅机制只能是读写分离的方案,也就是说A发布B订阅,只能是操作A的数据,B是同步过来,即使在B新增后,A不会新增。(也就是说单向同步,不是双向的)
1.1、采用合并复制进行发布订阅是可以A发布B订阅,A操作B得到最新数据,B操作A得到最新数据。(也就是说双向),(自增ID)这个功能测试后发现两者的数据是经过处理的,比如A的之间为100,B的最大值为9,下一条是10,那么同步过来之后,A的这台数据里面就不是100了,而是10;也就说数据会经过处理。这个功能会在每张表上增加一个rowid的列,这个列是GUID,估计是用于双向同步的作用而设计的。
2、2008新建订阅时,如果输入错误,是找不到这个订阅的,只能删除发布,再来重新搞。
3、2008上如果数据库连接端口更改,不是1433默认的之后,那么两端同步的时候都会不行,即使在配置管理器上新建了别名,也是不行的。(最后发现是可以的,如果新建了别名之后,要把原来的发布删除再重建)
4、同步的时间间隔大概是1分钟左右
操作说明:
一、基本的订阅发布过程配置
事务发布操作省略,配置过程参考老D的文章:http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html
合并发布:










注意:这里是本机sa登录密码



订阅:




注意:这里是用来订阅的数据库


注意:这里是本机sa登录密码






最后查看效果:

发布类型官方说明:
快照发布:
发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照。
事务发布:
在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。
具有可更新订阅的事务发布:
在 SQL Server 订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。来自订阅服务器的事务被应用于发布服务器。
合并发布:
在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据。更改会定期合并。Microsoft SQL Server Compact Edition 只能订阅合并发布。
通俗说明:
快照发布:
发行端依排程定时将快照集传送到订阅端,缺点是数据量很大,时间较长。
这个只能是单向发布。
事务发布:
发行端第一次与订阅端同步数据完后,依排程定时传送日志资料,供订阅端重做。优点是数据量较小,适合长期同步数据所用。
这个只能是单向发布。
合并复制:
合并复制可以实现数据的多处更新,当更新冲突时,可以设置规则,比如北京和上海的服务器,我可以设置北京的服务器永远赢。
也就是说双向发布。
这里参考这位SQL MVP的文章:http://www.cnblogs.com/CareySon/p/3300936.html
深入说明:
参考这本书【Pro SQL Server 2005 Replication】
SQL Server发布订阅功能研究的更多相关文章
- SQL Server 发布订阅 发布类型详解
MicrosoftSQL Server 提供了三种复制类型. 每种复制类型都适合于不同应用程序的要求. 根据应用程序需要,可以在拓扑中使用一种或多种复制类型: 快照复制 事务复制 合并复制 为了帮助您 ...
- sql server 发布订阅
[配置] 一. 发布方 复制 >> 如果有问题 C:\Windows\System32\drivers\etc hosts: 127.0.0.1 ?? 二. 订阅方 订阅方设置结束 三. ...
- [sql server发布订阅]after触发器执行失败造成复制不成功
结论: (以插入而例) 发布端的数据插入成功 订阅段的数据不会插入 实验 创建一张新表 create table test_subscriber (id int, mark varchar(2),in ...
- SQL Server发布订阅报错:The conversion of a datetime data type to smalldatetime data type resulted in an out of range value.
执行SQL Server发布订阅时,报错如下信息: The conversion of a datetime data type to smalldatetime data type resulted ...
- SQL Server 2012 复制(发布订阅的研究)
原文:SQL Server 2012 复制(发布订阅的研究) 已实现发布订阅功能,可以实现局域网内双击备份. 一.注意事项: a) 使用[事务复制]功能 b) 必须是相同的SqlServer 帐号和密 ...
- SQL Server 复制 订阅与发布
SQL Server 复制 订阅与发布 通过SQL Server 2008数据库复制实现数据库同步备份 SqlServer2008 数据库同步的两种方式(Sql JOB) SqlServer2008 ...
- SQL SERVER发布与订阅 [原创]
一.配置分发 1.配置分发服务器,注:配置发布与订阅,连接SQLSERVER必须用服务器名登录 2.配置分发 3.选择分发服务器 4.选择快照文件夹 5.设置此文件夹的读写权限为everyone 6. ...
- SQL SERVER发布与订阅
一.配置分发 1.配置分发服务器,注:配置发布与订阅,连接SQLSERVER必须用服务器名登录 2.配置分发 3.选择分发服务器 4.选择快照文件夹 5.设置此文件夹的读写权限为everyone 6. ...
- SQL Server 中心订阅模型(多发布单订阅)
原文:SQL Server 中心订阅模型(多发布单订阅) 大多数SQL Server 复制拓扑都是基于中心发布模型,它是由一个发布复制到一个或者多个订阅.另一个复制模型是中心订阅模型,它使用事务复制由 ...
随机推荐
- 动画制作库tween样例学习
mark: https://www.npmjs.com/package/tween
- 金旭亮老师的Scoekt编程摘要
Socket提供了众多的属性,还提供了SetSocketOption方法来设置各种选项,对.NET网络应用程序的数据通讯进行“微调”. Socket的功能出奇地强大,在.NET平台上,它支持以下 ...
- 基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)--AOP编程
AOP编程在目前来说好像是大家都比较喜欢的.ASP.NET MVC中的Filter就是使用AOP实现的配置器模式.AOP在编码中的应用主要有如下几个方面: 日志记录,跟踪,优化和监控 事务的处理 持久 ...
- 通过js动态生成页面表格
var redlineTemplateP = $(".redlineDataList"); for (var index in detailArraryLists.rows){ v ...
- 翻译qmake文档(一) qmake指南和概述
翻译qmake文档 目录 英文文档连接: http://qt-project.org/doc/qt-5/qmake-manual.html http://qt-project.org/doc/qt-5 ...
- 深入理解计算机系统(2.2)---布尔代数以及C语言上的位运算
布尔代数上的位运算 布尔代数是一个数学知识体系,它在0和1的二进制值上演化而来的. 我们不需要去彻底的了解这个知识体系,但是里面定义了几种二进制的运算,却是我们在平时的编程过程当中也会遇到的.这四种运 ...
- Windows7 x64配置 Apache2 + PHP5 + MySQL5
1:相关软件下载: Apache HTTP Server 版本:(httpd-2.2.25-win32-x86-openssl-0.9.8y) PHP ...
- SVN 修改log信息报错的解决方案
要实现允许修改log这个功能,只需要在hooks目录下增加一个名为:pre-revprop-change.bat的文件,重启svn即可.该文件内容为:------------------------- ...
- MAC OS上Nginx安装
admin@admindeMac:local]$ brew install nginx ==> Installing dependencies for nginx: pcre, openssl ...
- C++ vector用法
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<in ...