事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的。这里以sqlserver2008的事务发布功能为例,对发布订阅的方式简要介绍一下操作流程,一方面做个总结备份,一方面与大家进行一下分享和交流。费话就不多说了,进入一下今天的正题:)

这里要说明一下环境:首先我在本地局域网内有两台安装有sqlserver2008的机器(注意:已发布的快照版本无法向老版本数据库兼容,意味着2008下创建的事务或快照发布,无法被sqlserver2005订阅)。当然这两台机器要放在同一个网段,一方面出现性能和安全性考虑,另一方面是我目前还没有找到跨不同网段的快照应用方案(可行性的那种)。

好了,这里我以我们产品数据库为准来介绍一下如何通过发布订阅的方式来进行数据同步。

首先,在要发布的数据库上创建一个我们的产品数据库(这里叫做dnt_new),然后在该数据库实例的左侧导航的“复制”--“本地发布”上击右键,然后选择“新建发布”,如下:

这样,系统就会启动‘发布向导’来引导大家,这里我们在欢迎界面下点击"下一步”,然后在当前窗口中选择要发布的数据库,如下:

点击下一步,然后在接下来的窗口中选择“事务发布”,如下图:

然后点击下一步,选择要同步的数据对象(数据表,存储过程,自定义函数等),如下:

然后就是“项目问题窗口”,因为之前已用dbo身份登陆,所以这里只要点击下一步即可,如下图:

这里可以通过“添加”方式来过滤要同步的数据信息,因为要做全表数据同步,所以这里就不做设置了,感兴趣的朋友可以自己研究一下,这里接着点击下一步,如下:

然后在‘代理安全性’窗口中,点击“安全设置”按钮:

在弹出的‘安全设置’子窗口中设置如下信息,并点击‘确定’按钮:

然后点击下一步按钮:

选择“创建发布”复选框,然后点击下一步,这时向导会让您输入“发布名称”,这里命名为“dnt_new_snap”:

点击“完成按钮”,这里系统就开始根据之前收集的信息来创建该发布对象信息了,如下:

到这里,‘创建发布’的工作就完成了。下面介绍一下创建订阅的流程。在另一个机器的sqlserver实例上,打开该实例并使用“复制”—“新建订阅”,如下图:

这时系统就会启动“新建订阅”向导,点击下一步,并在“发布”窗口中的“发布服务器”下拉框中选择“查打发布sqlserver服务器”项,如下:

然后在弹出窗口中选择之前‘创建发布时所使用的数据库实例’并进行验进登陆,这时,发布服务器的信息就会出现在下方的列表框中:

选择之前我们创建的那个发布对象“dnt_new_snap”,接着点击下一步:

在分发代理位置窗口中,选择“在分布服务器上运行所有代理”,然后点击下一步,然后在“订阅服务器”窗口中的订阅数据库列表框中选择一下要同步的订阅数据库名称(可新建):

点击下一步,然后在‘分发代理安全性’窗口中,点击列表框中的‘…’来设置安装性,并做如下设置(注意红框部分):

然后点击“确定”按钮,之后在向导上点击“下一步”按钮,这时系统就会显示“代理计划执行方式”窗口,选择“连续运行”:

点击下一步,在窗口中选择“立即执行”:

完成了这一步,点击下一步按钮,然后就可以创建该订阅对象了,如果一切运行正常,sqlserver就会从‘发布服务器’那边,将之前指定的数据表和存储过程等同步到当前的‘订阅数据库’中了。

这时我们可以在源数据库(发布服务器)上的表中添加或修改指定表数据信息,在等待1-3秒之后,所做的添加和修改就会同步到‘订阅数据库’上的相应表中。看来目的是达到了,呵呵。

 注:本文中的两台机器必定是可以使用sqlserver客户端互联(在sqlserver studio中设置'允许远程链接',同时要设置相应的ip地址,以及在配置管理器中开启tcp/ip协议即可)

原文链接: http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html

使用Sqlserver事务发布实现数据同步(zhuanqian)的更多相关文章

  1. Sqlserver事务发布实现数据同步

    事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的.这 里以sqlserver2008的事务发布功能为例,对发 ...

  2. 使用Sqlserver事务发布实现数据同步

    事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进 的.这里以sqlserver2008的事务发布功能为例,对发 ...

  3. 使用Sqlserver事务发布实现数据同步(sql2008)_Mssq l数据库教程

    事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的.这里以sqlserver2008的事务发布功能为例,对发布 ...

  4. 使用Sqlserver事务发布实现数据同步(转)

    出处:http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html 事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案 ...

  5. SqlServer调用外部程序实现数据同步

    首先创建两个数据库:SyncA是数据源,SyncB是对SyncA进行同步的数据库. 在SyncA和SyncB中分别创建Source表和Target表,实际业务中,两张表的结构大多不相同.     然后 ...

  6. SymmetricDS 3.5.0 发布,数据同步和复制

    SymmetricDS 3.5.0 关闭 53 个问题,新增对 SQLite on Android.Sybase ASE 和 Sybase ASA 的支持:增加了文件同步功能,可同步目录.文件过滤和脚 ...

  7. SQLServer与Oracle的数据同步(触发器trigger)

    说到同步,其实是靠"作业"定时调度存储过程来操作数据,增,删,改,全在里面,结合触发器,游标来实现,关于作业调度,使用了5秒运行一次来实行"秒级作业",这样基本 ...

  8. SQL Server 2008复制发布订阅(数据同步)

    数据库同步问题 1.有一台主数据库服务器A和另外一台数据库服务器B,客户端首先访问数据库B,当B数据库服务器挂掉时就访问A,当对数据库B进行DML操作时,同时对A进行更新,如果A与B之间通讯失败,则将 ...

  9. SQLite与MySQL、SQLServer等异构数据库之间的数据同步

    SQLite DBSync是开源嵌入式数据库SQLite的数据同步引擎,实现了SQLite与SQLite数据库之间以及SQLite与异构数据库(Oracle.MySQL.SQLServer)之间的增量 ...

随机推荐

  1. 【iCore4 双核心板_ARM】例程三十五:HTTP_IAP_ARM实验——更新升级STM32

    实验现象: 核心代码: int main(void) { led.initialize(); //LED³õʼ»¯ key.initialize(); if(ARM_KEY_STATE == KEY ...

  2. spring源码:web容器启动

    web项目中可以集成spring的ApplicationContext进行bean的管理,这样使用起来bean更加便捷,能够利用到很多spring的特性.我们比较常用的web容器有jetty,tomc ...

  3. laravel5.8笔记十:Redis操作

    > 位置:\vendor\laravel\framework\src\Illuminate\Redis\Connections\PhpRedisConnection.php > 参考:ht ...

  4. gcc编译c语言程序

    编译:当前源代码编译成二进制目标文件(.obj文件) 链接(link):将生成的.obj文件与库文件.lib等文件链接,生成可执行文件(.exe文件).   一个现代编译器的主要工作流程如下: 源程序 ...

  5. [转]Visual Studio 2015源文件编码问题(936)

    在Visual Studio中,如果源文件中包含中文,那么当源文件编码为utf8时,会报“C4819 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据 ...

  6. iowait

    https://www.cnblogs.com/fuyuanming/articles/6497005.html

  7. ThinkPHP3.2.3框架下where的组合查询and、or方法

    在项目开发中,查询数据时经常用到where条件查询来过滤数据: 有时就需要一个input输入框判断多个字段查询,这时候我们就需要使用组合查询方法来实现: 说明:组合查询的主体还是采用数组方式查询,只是 ...

  8. 将 Entity Framework、LINQ 和 Model-First 用于 Oracle 数据库

    目的 本教程介绍如何使用 Entity Framework.语言集成查询 (LINQ),以及如何对 Oracle 数据库使用 Model-First 以生成数据定义语言 (DDL) 脚本. 所需时间 ...

  9. 6.2 Pandora 实操 - 数据展示

    具体每个图可以到蛋蛋团仪表盘里,查看配置即可.过程中没有截图记下来. 配置方法,建议参考已存在的图表参数,照样配,会比较快. 配置网站访问量 配图结果 参考 报表说明

  10. python 链表表达式 map、filter易读版

    链表推导式 [x for x in x] 链表推导式提供了一个创建链表的简单途径,无需使用 map(), filter() 以及 lambda.返回链表的定义通常要比创建这些链表更清晰.每一个链表推导 ...