SQLSERVER中,数据库同步的实现

2016-01-29 15:52 27 1 收藏

SQLSERVER中,数据库同步的实现,SQLSERVER中,数据库同步的实现

【 tulaoshi.com - SQLServer 】

经过测试,可以顺利实现数据库结构的初始化和数据的单向同步(也就是订阅服务器的数据可以及时更新为发布服务器的数据)。
准备工作:
 数据的同步中主要考虑的三部分,可以理解成三台主机。发布服务器,分发服务器和订阅服务器;可以从字面的意思理解,要实现的功能实际就是让订阅服务器通过分发服务器保持数据及时地和发布服务器上的数据一致。整个执行过程是这样一来的:
 a.订阅服务器应该有个初始化,一般来说我们开始做这个同步任务的时候,发布服务器已经有了相当的数据量了,而我们的订阅服务器应该是新建的服务。即使发布中没有数据,也需要把他的数据库结构初始化到订阅服务器上。
 b.我采用的是事物复制,发布服务器的数据发生变化后,相当于触发了一个更新操作,而事物复制可以在设定的时间把数据更新的操作更新到订阅服务器中去。当然,这个操作需要经过分发服务器。在我的测试中,我是把发布服务器和分发服务器设置为同一台主机,可以顺利实现数据在数分钟内同步。

 在操作的起始,需要考虑订阅服务器是否有和发布服务器相同结构的数据库,如果有,需要做的就是使用代理把发布服务器现有的数据初始化过去;如果没有对应的相同结构的数据库,就需要要把发布服务器当前的数据库结构和当前的数据都初始化到订阅服务器中。当然这里所说的操作都是在下面的实施步骤中实现,不需要单独处理。
 如果说对Windows系统有所要求的话,就应该保证这三个服务器(发布,分发,订阅)在同个域中,以同一个域管理员帐号身份运行,操作如下:
 a.进入相应的服务器,控制面板-服务-SQLSERVERAGENT,设置登录,三台服务器同样设置。

 b.操作前,也不允许这三台服务器对应的别名使用呢称,比如"LOCAL",这样的别名要删除重建,可以采用主机名,比如:server02.

下面开始执行数据库同步的操作:
 配置发布服务器和分发服务器:
 a.选中对应服务器的注册名-工具-复制-配置发布、订阅和分发,直接按照默认设置向下执行,直到完成。关闭。
 b.再一次选中这个服务器服务器的注册名-工具-复制-配置发布、订阅和分发,可以看到这次界面和步骤a中的界面有所不同,我们只需要配置一下 发布服务器,发布数据库,订阅服务器。(我的发布数据库采用的是事物性的)。点“确定”完成操作。<标记P
 
 创建发布,可以选中相应的注册,用工具-复制-创建和管理发布或者在该注册下面的 复制-发布内容 选中后,在右边空白处,右键,新建发布,来创建你的发布。我选择的是事物发布,按照默认设置,选择你要发布的表或其他对象,其他地方不需要修改,直到完成操作。
 修改发布属性:选择“状态”-立即运行代理程序;代理程序属性-设置你的调度,比如一分钟一次。(调度-编辑-更改;通知-写入windows应用程序事件日志),"确定"完成操作。
 
 创建订阅:选择发布服务器对应的注册,复制-发布内容-在这个内容上右键,强制新订阅,-"下一步",选择订阅服务器(在标记P那一步选择的订阅服务器)-“下一步”-选择你有的数据库,或者新建一个数据库
-"下一步"- 修改你需要的调度-按照默认设置,直到完成。

到这里就可以完成了,修改发布服务器数据库中的内容,等一两分钟,数据就同步到订阅服务器中了。不过由于第一次执行需要快照,如果发布库中有一定的内容,第一次执行可能需要几分钟时间。如果数据不能同步过去,大家是调度设置时间太短(比如1分钟)使快照不能完成,所以后面的步骤无法执行,遇到这样的情况的话,
选中你发布的内容,设置属性,在“状态”中“立即运行代理程序”,这样的话,数据会马上同步过去的。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

 

利用数据库复制技术 实现数据同步更新
复制的概念
复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

SQL复制的基本元素包括
出版服务器、订阅服务器、分发服务器、出版物、文章
SQL复制的工作原理
SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器
SQL SERVER复制技术类型
SQL SERVER提供了三种复制技术,分别是:

来源:http://www.tulaoshi.com/n/20160129/1496655.html

延伸阅读
笔者在开发"凉山州林业局"天然林资源保护综合管理系统中,需要为程序建立SqlServer数据库的运行环境。为了方便用户,笔者开发了这个数据库配置工具。完成在SQLServer数据库中建立设备,建立数据库,建立表格,分配权限的功能,"凉山州林业局"系统中的所有数据库配置操作都可以通过这个小工具完成。方便了数据库应用程序所需SqlServer环境的建立...
在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索,找到的一个比较简单的解决方案是: (1)在复制数据库之前,先备份该数据库到文件。 (2)依据备份文件创建新的数据库,并Res...
数据库复本是复制数据库的技术,利用这种技术,可以是数据库的几个拷贝保持同步。数据库的每个拷贝称为一个复本,并且每个复本都包含一个公共的表、查询、窗体、报表、宏和模块的集合;每个复本还可以包含只在本地计算机上使用的本地对象。 在多用户环境中,一个数据库可能由多个用户使用。在多用户应用程序中,数据库复本可以改善用户共...
复制的概念 复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。 SQL复制的...
在Internet上运作数据库经常会有这样的需求:把遍布全国各城市相似的数据库应用统一起来,一个节点的数据改变不仅体现在本地,还反映到远端。复制技术给用户提供了一种快速访问共享数据的办法。 一、实现数据库复制的前提条件 1、数据库支持高级复制功能 您可以用system身份登录数据库,查看v$option视图,如果其中Advanced...

经验教程

787

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部