前提:

发布订阅只能是同一个内网的机器上才能使用,其实这个可以用配置管理器的别名功能设置之后就可以了,外网的也能通过这样的方式来搞。

配置过程参考老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发布订阅功能研究的更多相关文章

  1. SQL Server 发布订阅 发布类型详解

    MicrosoftSQL Server 提供了三种复制类型. 每种复制类型都适合于不同应用程序的要求. 根据应用程序需要,可以在拓扑中使用一种或多种复制类型: 快照复制 事务复制 合并复制 为了帮助您 ...

  2. sql server 发布订阅

    [配置] 一. 发布方 复制 >> 如果有问题 C:\Windows\System32\drivers\etc hosts: 127.0.0.1 ?? 二. 订阅方 订阅方设置结束 三. ...

  3. [sql server发布订阅]after触发器执行失败造成复制不成功

    结论: (以插入而例) 发布端的数据插入成功 订阅段的数据不会插入 实验 创建一张新表 create table test_subscriber (id int, mark varchar(2),in ...

  4. 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 ...

  5. SQL Server 2012 复制(发布订阅的研究)

    原文:SQL Server 2012 复制(发布订阅的研究) 已实现发布订阅功能,可以实现局域网内双击备份. 一.注意事项: a) 使用[事务复制]功能 b) 必须是相同的SqlServer 帐号和密 ...

  6. SQL Server 复制 订阅与发布

    SQL Server 复制 订阅与发布 通过SQL Server 2008数据库复制实现数据库同步备份 SqlServer2008 数据库同步的两种方式(Sql JOB) SqlServer2008 ...

  7. SQL SERVER发布与订阅 [原创]

    一.配置分发 1.配置分发服务器,注:配置发布与订阅,连接SQLSERVER必须用服务器名登录 2.配置分发 3.选择分发服务器 4.选择快照文件夹 5.设置此文件夹的读写权限为everyone 6. ...

  8. SQL SERVER发布与订阅

    一.配置分发 1.配置分发服务器,注:配置发布与订阅,连接SQLSERVER必须用服务器名登录 2.配置分发 3.选择分发服务器 4.选择快照文件夹 5.设置此文件夹的读写权限为everyone 6. ...

  9. SQL Server 中心订阅模型(多发布单订阅)

    原文:SQL Server 中心订阅模型(多发布单订阅) 大多数SQL Server 复制拓扑都是基于中心发布模型,它是由一个发布复制到一个或者多个订阅.另一个复制模型是中心订阅模型,它使用事务复制由 ...

随机推荐

  1. 高性能JavaScript 达夫设备

    前言 在<高性能JavaScript>一书的第四章算法和流程控制中,提到了减少迭代次数加速程序的策略—达夫设备(Duff's device).达夫设备本身很好理解,但是其效果是否真的像书中 ...

  2. 排序图解:js排序算法实现

    之前写过js实现数组去重, 今天继续研究数组: 排序算法实现. 排序是数据结构主要内容,并不限于语言主要在于思想:大学曾经用C语言研究过一段时间的排序实现, 这段时间有空用JS再将排序知识点熟悉一遍. ...

  3. 你了解javascript中的function吗?(1)

    上一篇文章中 介绍了function在javascirpt作为一等公民所担任的重要责任,在不同 的上下文中它担任着不同的角色,在对象内部它可以是函数,同时又能充当名字空间,不仅如此所有的functio ...

  4. (十一)外观模式详解(Service第三者插足,让action与dao分手)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 各位好,LZ今天给各位分享一 ...

  5. dnsunlocker解决

    环境:windows 10 中文企业版,firefox47, chrome51 安装了某个国外程序后,浏览器各种不正常,打开网页慢,或是无法打开,更严重的是会弹广告,各种广告. 然后在控制面板中卸载了 ...

  6. OSPF协议详解

    CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...

  7. 【Python】[函数式编程]高阶函数,返回函数,装饰器,偏函数

    函数式编程高阶函数 就是把函数作为参数的函数,这种抽象的编程方式就是函数式编程.--- - -跳过,不是很理解,汗 - ---

  8. Linux下安装libiconv使php支持iconv函数

    libiconv组件安装好了可以让我们php支持iconv函数了,这个函数的作用就是字符编码强制转换了,下面和111cn小编一起来看一个Linux中安装libiconv使php支持iconv函数的例子 ...

  9. zabbix3.0安装教程

    一.Zabbix介绍 zabbix 简介 Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费 ...

  10. git介绍

    简介:Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.Git ...