`

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

阅读更多

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

 

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

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

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

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

      sqlserver_snap_1

 

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

sqlserver_snap_2

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

sqlserver_snap_3

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

sqlserver_snap_4

 

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

sqlserver_snap_5

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

sqlserver_snap_6

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

sqlserver_snap_7

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

sqlserver_snap_8

       然后点击下一步按钮:

sqlserver_snap_9

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

sqlserver_snap_10

 

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

sqlserver_snap_11

 

 

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

sqlserver_snap_12  

 

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

sqlserver_snap_13

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

sqlserver_snap_14  

 

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

sqlserver_snap_15

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

sqlserver_snap_16

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

sqlserver_snap_18

 

 

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

sqlserver_snap_19

 

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

sqlserver_snap_20

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

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

 

       好了,今天的内容就到这里了。

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

 

分享到:
评论

相关推荐

    使用Sqlserver事务发布实现数据同步(sql2008)

    本文以SQL Server 2008为例,详细介绍了如何使用事务发布来实现实时的数据同步。 首先,事务发布允许数据库中的更改(如插入、更新和删除)在多个数据库之间传播。SQL Server 2008引入了更优化的事务处理和同步机制...

    利用SQL Server复制技术实现数据同步更新

    ### 利用SQL Server复制技术实现数据同步更新 #### 概述 在现代企业级应用环境中,为了确保数据的一致性和高效性,SQL Server 复制技术被广泛应用于多站点或多服务器之间的数据同步。本文将详细阐述如何通过SQL ...

    SQL SERVER 发布/订阅 数据同步

    SQL Server 提供了一种高效的数据复制机制,即**发布/订阅**(Publication/Subscriptions)模式,用于实现不同数据库实例间的数据同步。这种方式特别适用于需要将数据从一个中心位置(发布服务器)分发到多个远程...

    如何在两个SQLSERVER之间数据同步

    ### 如何在两个SQLSERVER之间实现数据同步 在IT领域,特别是对于企业级应用而言,数据同步是一项重要的技术,能够确保不同地理位置的数据中心之间数据的一致性和可用性。本文将详细介绍如何通过SQL Server的复制...

    SQL Server 2008 R2 主从数据库同步

    SQL Server 2008 R2 主从数据库同步是高可用性技术之一,通过配置数据库属性和事务日志传送,实现主从数据库之间的数据同步。本文将详细介绍 SQL Server 2008 R2 主从数据库同步的配置步骤和实现原理。 基本原理 ...

    sqlserver无主键表的同步方案1

    总之,针对SQL Server无主键表的同步方案,需要结合使用SSIS和自定义脚本,以及可能的外部编程语言辅助,以克服特定数据类型的同步难题。这种方法虽然能有效处理大部分情况,但仍然需要不断优化和完善,特别是在处理...

    SQLServer触发器实现不同服务器数据同步.pdf

    SQL Server 触发器实现不同...本文提供了一个使用 SQL Server 触发器实现不同服务器之间的数据同步的解决方案,涉及到了多个知识点,包括 SQL Server 触发器、分布式事务处理服务、链接服务器、存储过程和作业等。

    两台SQL-Server数据同步解决方案

    本文将详细介绍如何在两台SQL Server之间实现数据同步,包括复制的基本概念、工作原理以及具体的实现步骤。 #### 二、复制的概念与基本元素 **复制**是一种将一组数据从一个数据源(通常称为“出版服务器”)复制到...

    SQLSERVER2000数据双向同步

    1. **SQL Server 2000 数据同步**: 数据同步是通过复制功能实现的,SQL Server 2000 提供了多种复制类型,包括事务复制、合并复制和快照复制。在这个场景中,提到的是**合并复制**,它支持不同网络连接条件下的异步...

    两台SQL Server数据同步解决方案

    在给定的内容中提到了使用SQL Server复制来实现数据同步的一些具体操作,下面将对这些操作进行详细的解释: 1. **创建表和触发器**: - 创建名为`[user]`的表,并设置`state`字段用于记录数据的状态(如更新状态)...

    用于SqlServer 同步数据到ElasticSearch的logstash测试

    标题 "用于SqlServer 同步数据到ElasticSearch的logstash测试" 描述了一种通过Logstash将SQL Server数据库中的数据实时或定期同步到ElasticSearch的解决方案。在.NET平台上,这种数据同步通常是为了实现大数据分析、...

    SQL SERVER 2008 数据同步设置指南

    本文将详细介绍如何在SQL Server 2008环境下实现A、B两台服务器间的数据同步备份功能,具体采用的是事务复制的方式。 #### 二、创建发布服务器 1. **打开SQL Server 2008配置管理器**:首先,需要通过“开始”菜单...

    SQL SERVER的异地数据同步功能.doc

    SQL Server的异地数据同步主要通过事务复制来实现。事务复制是一种异步复制机制,能够将主数据库(发布服务器)的事务性更改传递到远程数据库(订阅服务器)。此过程涉及三个主要角色: - **发布服务器**:这是源...

    SQL SERVER 数据同步配置

    在本教程中,我们将重点讨论如何在SQL SERVER 2005环境下配置数据同步,特别关注事务性发布这一方式。 首先,确保所有必要的前提条件得到满足。在Windows 2003操作系统中,我们需要创建一个共享用户——KINGSWAY,...

    SQL SERVER间数据同步

    除了使用SQL Server 的复制功能外,还可以手动编写脚本来实现数据同步。例如,可以在本地创建一个表,并使用触发器维护状态字段,以便跟踪记录的变化状态。 #### 四、检查同步结果 为了验证复制是否成功,可以通过...

    基于SQL Server的数据同步方案的研究及应用.pdf

    事务发布是SQL Server数据同步的常用方法,尤其适合实时或近乎实时的数据同步需求。在事务发布中,主服务器(发布服务器)会追踪所有的数据修改操作(INSERT、UPDATE、DELETE),并将这些变更推送到从服务器。从...

    SQL SERVER 2005 使用订阅发布同步数据库.doc

    在SQL Server 2005中,订阅发布是数据库复制的一种形式,用于在多个...总的来说,SQL Server 2005的订阅发布功能是实现数据分布式管理和高可用性的重要工具,通过合理配置和使用,可以有效地满足企业的数据同步需求。

    WinCC_SQL数据库实现数据库同步

    对于使用WinCC (Windows Control Center) 的应用场景来说,能够实现多个站点之间的数据同步是非常关键的功能之一。然而,WinCC 自带的 SQL Server 数据库并不直接支持数据库同步功能。本文将详细介绍如何通过修改...

    两台SQL Server数据同步解决方案(推荐).

    在现代企业级应用中,为了确保数据的高度可用性和容错性,通常需要在两台或多台SQL Server之间实现数据同步。本文将详细介绍一种实用的数据同步解决方案,旨在帮助读者理解SQL Server复制的核心概念及其实施步骤。 ...

    sqlserver同步发布订阅步骤

    在SQL Server中,同步发布和订阅是数据库复制技术的一部分,用于在不同的服务器之间传播数据更改。...在实际操作中,配合“SqlServer数据同步截图-分发&订阅”这样的图片资源,可以更直观地理解和学习这一过程。

Global site tag (gtag.js) - Google Analytics