数据库同步技术解决方案.doc
数据库同步技术解决方案

数据库同步技术解决方案一、需求分析1.实时性:数据同步需要尽可能接近实时,以保证数据的准确性。
2.完整性:同步过程中,数据不能丢失,也不能重复。
3.可靠性:同步过程要稳定可靠,不能因为同步失败导致业务中断。
4.扩展性:随着业务的发展,同步方案要能适应不断增长的数据量。
二、技术选型1.同步方向:单向同步、双向同步、多向同步。
根据业务场景,选择合适的同步方向。
2.同步方式:同步复制、异步复制。
同步复制可以保证数据的实时性,但可能会影响性能;异步复制则牺牲实时性,换取更高的性能。
3.同步工具:目前市面上有很多数据库同步工具,如MySQL的binlog、Redis的pub/sub、Kafka等。
我们需要根据实际业务场景和需求,选择合适的同步工具。
三、方案设计1.同步方向:采用单向同步,从主数据库同步到从数据库。
2.同步方式:采用异步复制,降低对主数据库性能的影响。
3.同步工具:使用Kafka作为消息队列,实现数据的异步传输。
具体步骤如下:1.在主数据库上配置binlog,记录数据变更日志。
2.使用KafkaConnect连接主数据库,监听binlog,将数据变更事件转换为Kafka消息。
3.从数据库上部署KafkaConsumer,消费Kafka中的消息,并根据消息内容更新从数据库。
4.为了保证数据的完整性,可以在从数据库上设置主键约束,防止数据重复。
5.为了提高同步性能,可以设置Kafka的批量处理大小和消费线程数。
四、性能优化1.增加Kafka的副本数,提高消息队列的吞吐量。
2.调整Kafka的批量处理大小,减少网络传输次数。
3.优化数据库索引,提高数据检索速度。
4.使用并行处理技术,提高数据同步效率。
五、异常处理1.数据冲突:当主数据库和从数据库中的数据发生冲突时,可以根据业务规则进行合并或者覆盖。
2.网络异常:当网络异常导致同步失败时,可以设置重试机制,确保数据不会丢失。
3.数据丢失:当同步过程中数据丢失时,可以采用日志回溯的方式进行恢复。
数据库数据迁移与同步的技术方案

数据库数据迁移与同步的技术方案在不同的情况下,数据库的数据迁移和同步是一个常见的需求。
无论是为了实现数据备份与恢复,还是为了在不同环境中使用相同的数据,数据迁移和同步都是必不可少的。
为了高效完成这项任务,我们需要采用适当的技术方案。
数据库数据迁移是指将数据从一个数据库移动到另一个数据库的过程。
这可以发生在不同的数据库管理系统之间,也可以发生在同一系统的不同实例之间。
数据迁移既可以是一次性的操作,也可以是定期的任务。
要实现数据库数据迁移,有几种常用的技术方案可供选择:1. 导出和导入导出和导入是最简单直接的方式之一,特别适用于较小的数据库。
首先,将源数据库中的数据导出到文件或数据集中,然后再将其导入到目标数据库中。
导出和导入可以通过数据库管理工具或命令行界面完成。
然而,导出和导入具有一些局限性。
首先,导入过程可能需要较长的时间,特别是在处理大量数据时。
其次,导出和导入的过程可能会丢失一些数据库对象之间的关联关系,例如外键和触发器。
因此,对于较为复杂的数据库迁移和需要保持完整性的情况,可能需要考虑其他方案。
2. 数据库复制数据库复制是指在不同数据库之间自动复制和同步数据的过程。
在数据库复制中,源数据库成为“主数据库”,目标数据库成为“从数据库”。
主数据库的更改会自动被复制到从数据库,以保持数据的一致性。
数据库复制可以通过多种方式实现,如事务日志复制、特定事件复制等。
不同数据库管理系统提供了不同的复制机制和配置选项。
常见的数据库复制方案有MySQL的主从复制、Oracle的数据卫士和SQL Server的镜像等。
不过,数据库复制也存在一些限制。
首先,数据库复制可能需要在网络环境中进行,因此涉及网络带宽、延迟和安全等问题。
其次,在复制过程中出现的错误或故障可能会导致数据不一致,因此需要进行监控和维护。
3. ETL工具ETL(抽取、转换和加载)工具是一种强大的数据迁移和同步方案。
ETL工具可将数据从源数据库中提取出来,进行转换和清洗后再加载到目标数据库中。
mysql数据库同步解决方案

mysql数据库同步解决方案mysql数据库同步解决⽅案情况说明:1.现在有两台电脑,各次都安装了mysql,⽅台主机,⽅台从机.2.主机ip:192.168.0.97从机ip: 192.168.0.2103.当更新主机数据库记录时从机记录要发⽅相应的改变,即实现数据库实时同步解决⽅案:mysql提供了数据库实时同步功能。
可以在主从机上进⽅配置即可实现数据库的同步具体步骤:1.修改主机配置信息:a.修改mysql安装⽅录下的my.ini⽅件,默认的路径:C:\\Program Files\\MySQL\\MySQL Server 5.0\\my.ini 打开my.ini ⽅件,在[mysqld]节点下⽅加⽅如下内容[mysqld]server-id=1log-bin=c:\\log-bin.logserver-id:为主服务器A的ID值log-bin:⽅进制变更⽅值b.创建远程访问⽅户使⽅如下命令创建:grant all on *.* to backup@'192.168.0.210' identified by '1234'此时在通过⽅户名backup和密码1234就可以在从机192.168.0.210上访问主机⽅志了c.付给⽅户远程访问的权限使⽅如下命令创建远程权限:grant all on *.* to backup@'%' identified by ‘1234’d.重新启动mysql servere.主机配置结束2.修改从机配置信息a.修改mysql安装⽅录下的my.ini⽅件,默认的路径:C:\\Program Files\\MySQL\\MySQL Server 5.0\\my.ini 打开my.ini ⽅件,在[mysqld]节点下⽅加⽅如下内容[mysqld]server-id=2master-host=10.100.0.100master-user=backupmaster-password=1234//以下内容为可选replicate-do-db=backupserver-id:从服务器B的ID值。
解决方案之数据同步【最新范本模板】

解决方案之数据同步本篇要讲的是数据库数据的同步方案,关于局域网,或者两台数据库IP可见的同步情况,这里不给出方案,因为这种情况数据库本身就提供了有很多种性能卓越的方案,看帮助文档就可以解决.本文要讲的案例是:有A,B两台或者更多的数据库服务器,分处于不同的网络,数据库IP不可见,端口不可见,现在需要A中的 t1表-----> 单向同步到 B中的 t1表A中的 t2表 <-----> 双向同步到 B中的 t2表也就是AB两数据库服务器的单向同步和双向同步应该怎么做?在internet网中必须考虑网络速度,所以应该保证传输的数据量尽量小一点再小一点。
双向同步就是做两次单向同步而已,我们以从A服务器上的t1表单向同步到B服务器的t1表为例子说明同步方案.我们来看看三种方案,然后比较一下。
方案一:•将A站的t1表的数据(DateTable类型)直接传送到B站的t1表;•B端修改式插入t1表中,所谓修改式插入就是当不存在就insert当存在就update;(相当于mysql里面的:insert into t1 ()values() on duplicate key update 语法)•完成.(简单吧)点评:这是最直接最粗暴也最安全的方案,但是如果同步的表数据比较多,这种方案肯定是行不通的。
不过当数据量比较少时,比如说100条以内,则这种方案也凸现出了它的优点:安全,简单。
所以这种方案也是有用武之地的。
方案二:•在同步源一端表中(如案例中的A站t1表)增加is_syncis_del两个tinyint类型或者bite类型的字段;•当作Insert或者Update操作时,同时将is_sync设置成0,等待同步;•当作Delete操作时,将is_del设置成1,is_sync设置成0,而不是物理删除;•在A端查询所有is_sync=0的数据,传递到B端;•B端接收到数据之后将B表中已经存在的数据作物理增删改并将成功的结果返回给A;•A端收到B操作成功的结果,将is_sync=0且在返回成功中的数据设置is_sync=1,另外如果还is_del=1则物理删除。
数据同步处理方案

数据同步处理方案一、确定数据源和目标端。
首先呢,得搞清楚数据是从哪儿来的,这就是数据源,就像水的源头一样。
比如说可能是某个数据库,或者是从用户在APP上输入的信息啥的。
然后再明确数据要同步到哪儿去,这个地方就是目标端,可能是另一个数据库用来做备份,或者是要传输到一个数据分析系统里。
二、数据格式统一。
这一步就像是给一群性格各异的人穿上同样的制服一样。
因为数据源和目标端的数据格式可能不一样啊。
要是不统一格式,就像让穿西装的和穿比基尼的一起排队,那肯定乱套。
所以得把数据的格式整成一样的,比如日期格式都得是“年月日”这种统一的样式,数字的精度也得一样,不能有的精确到小数点后两位,有的精确到四位。
三、同步时机选择。
啥时候同步数据很关键哦。
可以是实时同步,就像新闻直播一样,数据源一有新数据,马上就同步到目标端。
这种适合那些对数据时效性要求超高的情况,像股票交易数据啥的。
还有一种是定期同步,比如说每天凌晨两点同步一次,这就适合那些数据变化不是特别频繁的情况,就像每天统计一下网站的访问量这种。
四、同步方式。
1. 全量同步。
这就好比是搬家,把所有东西都搬过去。
就是把数据源里的所有数据一次性全都同步到目标端。
这种方式简单粗暴,但是比较耗费资源,特别是数据量很大的时候,就像要搬一座山一样费劲。
2. 增量同步。
这个就聪明点了,只同步那些新增加或者修改过的数据。
就像只把新衣服或者改了尺寸的衣服从衣柜的一边移到另一边,而不是把整个衣柜都重新整理一遍。
这样能节省很多资源,速度也快。
五、错误处理机制。
在同步过程中啊,保不准会出点岔子。
比如说网络突然断了,或者数据在传输过程中被损坏了。
这时候就得有个错误处理机制。
就像给同步过程配备个小医生一样。
如果是网络问题,那就可以设置重新尝试同步几次,要是数据损坏了,得有个办法能恢复到之前正常的状态,或者标记出来有问题的数据,让人能去检查和修复。
六、数据一致性验证。
同步完了可不能就不管了,得检查一下两边的数据是不是真的一样。
数据库同步技术解决方案

数据库同步技术解决方案----数据库发布订阅SqlServer数据库同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置SqlServer数据库同步是个比较好的解决方案。
SqlServer数据库同步的配置比较烦锁,下面对其配置详细步骤进行介绍:一、数据复制前提条件1. 数据库故障还原模型必需为完全还原模型。
2. 所有被同步的数据表都必须要用主键。
3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
4. SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
二、解决前提条件实施步骤1. 将数据库故障还原模型调整为完全还原模型。
具体步骤如下:打开SQLSERVER企业管理器>选择对应的数据库>单击右键选择属性.>选择”选项”>恢复模式选‘完整’。
2. 所有被同步的数据表都必须要有主键。
(主要指事务复制)如果没有主键的数据表,增加一个字段名称为id,类型为int 型,标识为自增1的字段。
3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
在企业管理器里面注册的服务器,如果需要用作发布服务器、分发服务器和订阅服务器,都必需以服务器名称进行注册。
不得使用IP地址以及别名进行注册,比如LOCAL, “.”以及LOCALHOST等。
4.如果非同一网段或者远程服务器,需要将其对应关系加到本地系统网络配置文件中。
文件的具体位置在%systemroot%\system32\drivers\etc\hosts配置方式: 用记事本打开hosts文件,在文件的最下方添加IP地址和主机名的对应关系。
如图:5.SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
启动SQLSERVER代理的方法:我的电脑>单击右键”管理”>服务> SQLSERVERAGENT 将其设为自动启动。
不同数据库间实现数据同步的解决方案

不同数据库间实现数据同步的解决方案企业应用案例c臼黪不同数据库间实现数据同步的解决方案●明亚晶1.问题的提出数据库系统LotusNoteS,属于非关系数据库管理系统,是一种文档数据库,其具有以下特点:基于文档组织模式;使用非结构化的数据元素;通过定时复制刷新数据;使用视图定位数据;通过全文检索访问数据.关系数据库主要特征是支持关系数据模型(数据结构,关系操作,数据完整性).关系模型具有以下特点:关系模型的概念单一,实体和实体之间的联系用关系来表示;以关系数学为基础;数据的物理存储和存取路径对用户不透明;关系数据库语言是非过程化的.在实际工作中,二者各有所长.运用工作流机制,协同,通信,传递知识,进度,效率是办公信息系统的着重点,这也正是LotusNotes数据库系统的优势所在,因此,N0tes数据库是办公信息系统的选.对大量原始数据进行多维汇总,处理加工,产生统计报表(产生原始文档)是管理信息系统的领域与专长,关系数据库能很好的满足这种需求.随着文档一一体化的发展,一般公文的归档管理都集成于办公信息系统中,因此部分档案信息数据以L0tusnotes数据库形式存储.而对档案信息的全面管理必定要对数据的汇总,统计,处理,这部分工作涉及到的数据一般都是以关系数据库形式存储的.这时,我们将面对一个问题:有些数据既要参加数据流的运转,也要参加统计分析工作,两种数据库都需要这些数据.当然,采用数据的人工同步录入可以满足这一需求,但是增加了数据录入,校对工作量,这是不可取的, 应选择科学,合理的方案,充分发挥计算机技术优势,自动同步LotusNoteS数据库与关系数据库.2.L0tusNotes数据库与关系数据库信息交互解决方案2.1通过编程方法实现数据同步用户通过同一个界面一次录入数据,通过软件将此数据同时写入Notes数据库和关系数据库中,并且控制两个操作同时成功,比如:操作1写入关系数据库,操作2写入Notes数据库,当操作以失败,写入事务回滚,同时取消操作l,2,反之亦然,只有操作1,操作2都成功时,才能成功的写入.操作1:利用script写入关系数据库:Dimc0nAsNew0DBCConnection'定义ODBc连接对象DimqryAsNewODBCQuery'定义ODBC查询对象DimresultAsNewODBCResultSet定义ODBC结果处理对象Setqry.C0nnection=con将ODBC查询对象和相应连接对象挂靠Setresult.Query=qry将oDBC查询对象和相应结果处理对象挂靠con.ConneCtTo("ABC")'使用ODBC数据源ABC连接上相应数据库2O09.7数字石油和化工l23c盘s案例企业应用qry.SQL="SELECT{fr0mtest"'定义ODBC查询对象所使用的查询SQL语句result.Execute'执行该SQL语句result.AddRow增加一行记录Callresult.SetValue("全宗号","0214")给该记录全宗号赋值"0214"reSu1t.UpdateR0w'将增加的记录写入数据库result.Cl0se(DB—CLOSE)'关闭结果集con.DiSconnect'断开数据库连接操作2:写入notes数据库操作准备操作:在DOMINOR5种新建数据库,并且建立一个空白表单,在表单上创建一个"操作".写入操作代码: dimsessiOnasnOtessessiOndimdbasn0tesdatabasedimd0casnOtesd0cumentsetitem=doc.appenditemva1ue(全宗号,text)calldoc.save(true,true)setdb=seesiOn.curr_entdatabaSesetdoc=newn0tesdocument(db)经过以上操作,用户在录入界面输入的"全宗号"内容,同时写入了关系数据库和notes数据库中,保证两个数据库中的内容一致.2.2利用LOTUS内置的中间件DECS实现数据同步DECS(Domino内置的企业集成服务: DominoEnterpriseConnectServices)是Lotus公司开发的一种技术的名称,提供了一个从Domino应用到外部数据的深层次集成的连接性的方便使用的,基于表单的接口.用DECS,开发人员拥有了一个模板化的应用,使外部数据源变成了Domino应用的一部分.使用方法:保证有你要导入的Notes数据库,保证有关系数据库.第一步:设置ODBC数据源.第二步:调用DECS数据库:如果你是第一次使用DECS,请查看你的服务器的DATA目录下是否有decsadm.nsf的数据库.如果有该数据库,请在服务器的控制台上输入L0adDECS, 如果没有该数据库,请在服务器的控制台上输入LoadDECS,那么DECS任务会自动帮你创建一个decsadmmsf.的数据库.第三步:打开DEcs数据库:任务启动后,打开服务器上的DeCsadm.nsf数据库.第四步:单击"CreateConnection",创建一个连接.第五步:打开连接表单,确认以下几项: ODBC:连接的数据库DataSOurce:数据源Usemame:能访问该数据源的用户名Password:能访问该数据源的用户密码Passw0rdEncryptionkey:单击后对你填入的用户密码,在Notes中加密. SelectionType:选择的类型是Table,还是view0wner:选择Tab1e的拥有者.Name:选择你要连接哪一个Table.第六步:单击"CreateActivity",创建一个"动作":系统提供了一个动作向导,单击"createActivity",系统打开表单后弹出一个动作向导,如果你确定使用的话,单击"确定",选择你要导入到哪个Notes数据库;选择你要导入到该数据库的哪个表单;选择你使用哪个"连接";选择你到导入外部数据库的哪个Table和View.第七步:确定Notes数据库与关系数据库表之间的对应关系.第八步:查看"Activities"导航,选定你要激活哪个"动作;单击"start,启动该动作.2.3选择LEI系列产品实现数据同步LEI以前叫做N0tesPump,是D0min0与企业系统间工业级数据传输及同步的工具.它可以按照业务条件或业务需要,按计划或者一次性地完成数据的提取,转换,发布和同步.LEI实际l2420O9.7数字石油和化工企业应用案例嚣黪drImin()雅务器s呲缀务器艨I)omin0薷I1El睾F客户端图1LEI原理示意图上起的是一个中间服务器的作用,它使不同数据库通过它的connecti0n及activity文档来实行数据交换.使用方法:第一步:安装Domin0/N0tesServer,LEIServer以及Notes客户端的安装,SQL200O的安装.第二步:在Domin0中建立Notes数据库,在SQLserver2000中建立同此NOTES数据库具有相同域的数据库.第三步:配置两个"Connection"用来连接数据库(一个连N0tes一个连sq1).创建到Notes的连接直接点击"CreatConnecti0n"进行;建立与SQL的连接则需要在类型列表里选择"ODBC",通过ODBC与sql数据库连接.第四步:配置两个"Ac廿vi"用来规定数据交换规则的,即两个数据库之间进行怎样的数据交换(一个是N0teS到sql一个是9ql到Notes). 以上配置通过后,在sql的数据库里面分别进行数据的添加,删除,编辑,并分别用Activity(Dtns)进行数据交换,结果数据完全能保持一致.单的比较:昨利用外部程序实现数据同步的方案,适用于需要同步的数据量比较少的小规模应用系统.它要求用户在系统分析阶段就要充分的考虑到可能选择的数据库系统,详细设计需要同步的数据项.这种方式开发的系统不需要额外的产品和复杂的配置,操作简单,但是系统开放性,可扩展性,可移植性比较差. DOminOEnterpriseConnectionServices(DECS).包含在Dominoserver中,DEcs提供了对企业数据的基于表单方式的实时访问,使这些数据看起来就象是Domino的内部数据一样,易于开发和维护.但是DECS支持同时连接的用户数量较少,其应用只能运行于Domino平台上,移植性差,并且需要Domino开发技术.LEI全面支持企业系统,LE1支持与DB2/UDB,Orac1e,Sybase,MicrosoftSQL Server,ODBC,EDA/SQL,SAPR/3,J.D. EdwardsOneWOrld,PeOpleS0ft,Oracle Applications/Financials,Infinium,MQSeries及其它软件进行数据交换;快速应用开发,LEI的可视化映射界面支持以点击方式与Domin0应用进行数据的传输及同步操作,不需要编程,实现对企业系统的高速访问;强大的企业级连通性,32位,多任务进程和多线程的执行方式增强了系统性能;提供了LotusDomin0应用与其它各类应用如ERP应用,交易处理(TP)系统,关系数据库之间的大规模数据发布.LEI作为独立产品,需要额外购买,并且安装,配置比较复杂,对管理人员要求比较高,对于小规模应用它不是一种经济的选择.三种方案各有优点,根据具体使用环境,企业可采取适当合理的方法,解决实际中的问题.囝3.三种方案的比较通过上面的讨论,我们对三种方案作一个简(作者明亚晶单位系大庆钻探工程公司)2O09I7数字石油和化工125。
oracle数据库实时同步技术解决方案研究

oracle数据库实时同步技术解决方案研究近幾年,容灾及高可用已经成为信息数据中心建设的热门课题。
本文在对oracle数据库同步技术的初步研究的基础上,根据大庆油田数据中心的实际情况,提出以goldengate和dataguard这两种技术为主的同步解决方案。
通过对两种技术的对比研究,根据不同的应用需求选择适合的技术,强调了数据实时同步作为数据库容灾的重要手段,通过实时的数据同步提供高可用的业务分离的应用环境,大大降低主库的压力,保证数据的安全性和高可用性。
标签:数据库同步;goldengate;dataguard;容灾;高可用一、数据库同步技术数据库同步是在两个以上的数据库之间进行数据交换,以使得任何一个数据库的改变,会以同样的方式出现在另一个数据库里。
数据库同步可以是单向的,也可以是双向的。
单向同步也叫主从同步。
只有主数据库的改变可以被复制到从数据库里去,从数据库是被动的。
双向同步顾名思义就是任何一端的数据变化都要同步到另一端,因为这种同步对应用的要求很高,成功的案例并不多,现实中,应用最为广泛的是单向同步。
使用数据库同步技术,用户可以将一份数据发布到多台服务器上,也可以从多台服务器到一台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。
同步技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
二、Oracle提供的数据同步方案从实现机制来分的话,Oracle的数据同步主要分为两大类:(一)运用Oracle数据库内部的机制来实现1、触发器/Job+DBLINK的方式,可同步和定时刷新。
这种方式主要用于单个数据表,数据量较小的情况。
这种方式对网络要求较高,如果两个数据库之间的网络中断,那么主库那边就会报错,而且如果表数多或数据量大的话对数据库性能影响很大,所以这种方式现在很少被采用了。
2、物化视图刷新的方式,有增量刷新和完全刷新两种模式,定时刷新。
物化视图的方式的缺点与触发器方式的缺点基本一致,所以要慎重使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库同步技术解决方案
----数据库发布订阅SqlServer数据库同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置SqlServer数据库同步是个比较好的解决方案。
SqlServer数据库同步的配置比较烦锁,下面对其配置详细步骤进行介绍:
一、数据复制前提条件
1. 数据库故障还原模型必需为完全还原模型。
2. 所有被同步的数据表都必须要用主键。
3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
4. SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
二、解决前提条件实施步骤
1. 将数据库故障还原模型调整为完全还原模型。
具体步骤如下:
打开SQLSERVER企业管理器>选择对应的数据库>单击右键选择属性.>选择”选项”>恢复模式选‘完整’。
2. 所有被同步的数据表都必须要有主键。
(主要指事务复制)如果没有主键的数据表,增加一个字段名称为id,类型为int 型,标识为自增1的字段。
3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。
在企业管理器里面注册的服务器,如果需要用作发布服务器、分发服务器和订阅服务器,都必需以服务器名称进行注册。
不得使用IP地址以及别名进行注册,比如LOCAL, “.”以及LOCALHOST等。
4.如果非同一网段或者远程服务器,需要将其对应关系加到本地系统网络配置文件中。
文件的具体位置在%systemroot%\system32\drivers\etc\hosts
配置方式: 用记事本打开hosts文件,在文件的最下方添加IP地址和主机名的对应关系。
如图:
5.SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。
启动SQLSERVER代理的方法:我的电脑>单击右键”管理”>服务> SQLSERVERAGENT 将其设为自动启动。
如图:
6.打开SQL Server 配置管理器确保TCP/IP已经启用
2.查看属性,有的可能设置为1433
机器默认设置,是这样:
端口号为1433,你也可以自己设置一个数值较大的端口号,设置完后重新启动SQL SERVER,其它不用重启
配置防火墙的“高级设置”,将C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe,“新建规则”到“入站规则”中。
将 UDP端口 1433 “新建规则”到“入站规则”中。
否则客户端将由于访问不到1433端口进而无法获得TCP使用的动态端口。
以上前提条件满足以后,就可以配置数据库复制服务了。
三、了解复制配置概念和原理
1.数据复制角色
复制服务有三个角色,分别是发布服务器,分发服务器和订阅服务器。
他们分别做不同的工作。
就像我们日常买书和报纸的概念是一样的。
发布服务器: 也称为出版服务器,主要负责数据的发布和出版工作。
这个角色就好比我们的出版社或者报社。
分发服务器: 主要负责将发布服务器的内容分发给订阅者。
他是连接发布服务器和订阅服务器的桥梁。
这个角色就好比我们的邮递员,将书和报纸送到我们的手里。
订阅服务器: 主要负责接收发布的内容。
这个角色就好比我们自己订阅书和报纸,是一个订阅者的角色。
2. 数据订阅模式
数据订阅的模式有推式订阅和拉式订阅两种。
推式订阅主要是分发服务器将数据推给订阅服务器。
拉式订阅是订阅服务器主动向分发服务器取数据。
这就好比我们自己订阅杂志和报纸一样,如果人家送货上门,这就是推式订阅,消耗的是分发服务器的资源,也就是消耗送货人员的资源。
如果是拉式订阅,我们就需要自己到书店去购买,这样消耗的就是我们自己的资料。
消耗的是订阅服务器的资源。
3.数据发布类型
数据发布类型可发为三种(SQL2000):
A. 快照复制
当符合以下一个或多个条件时,使用快照复制本身是最合适的:·很少更改数据。
·在一段时间内允许具有相对发布服务器已过时的数据副本。
·复制少量数据。
·在短期内出现大量更改
B. 事务复制
事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制:·希望发生增量更改时将其传播到订阅服务器。
·从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。
·应用程序需要访问中间数据状态。
例如,如果某一行更改了五次,事务性复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。
·发布服务器有大量的插入、更新和删除活动。
C. 合并复制
合并复制通常用于服务器到客户端的环境中。
合并复制适用于下列各种情况:
·多个订阅服务器可能会在不同时间更新同一数据,并将其更改传播到发布服务器和其他订阅服务器。
·订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。
·每个订阅服务器都需要不同的数据分区。
·可能会发生冲突,并且在冲突发生时,您需要具有检测和解决冲突的能力。
·应用程序需要最终的数据更改结果,而不是访问中间数据状态。
例如,如果在订阅服务器与发布服务器进行同步之前,订阅服务器上的行更改了五次,则该行在发布服务器上仅更改一次来反映最终数据更改(也就是第五次更改的值)。
四、数据复制实施步骤
A. 配置发布服务器
1.选择复制节点
2.右键本地发布----下一步---------系统弹出对话框看提示
点击”下一步”
选择数据库作为发布数据库,点击下一步
选择发布类型。
点击下一步,
选择发布项目和对象:
点击下一步,
筛选:
下一步
快照代理运行时间。
下一步
代理登陆设置,点击安全设置进入
配置完成,到代理安全性界面,下一步
此时,说明我们的发布服器配置成功了!
C. 配置订阅服务器(图略)
订阅服务器有两种方式。
一种是推式订阅,一种是拉式订阅。
具体选择那一种订阅方式。
需要考虑几方面的因素:
①对网络的考虑比如外网远程服务器需要订阅本地数据,由于本地服务器没有公网IP,则需要采取由本地向远程服务器进行推式订阅,即强制订阅的形式。
②对服务器性能的考虑比如订阅服务器和分发服务器都是外网IP地址或者内网IP地址。
但是要求复制过程中不会对分发服务器产生过大的压力。
此时,我们可以采取拉式订阅的方式。
拉式订阅消耗的是订阅服务器的资源,而不会对分发服务器的性能产生大的影响。
推式订阅的具体配置如下:
右键本地订阅--------选择发布服务器-------选择订阅方式(如果是在服务器方订阅的话选择推送订阅反之
选择请求订阅)-------填加订阅服务器--------选择代理计划(一般选择连续运行)---------其余选择默认项。
至此, SQL SERVER 2005 同步复制就完成了。
使用复制技术,用户可以将一份客户端的数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。
复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性,就无需编程实现客户端和服务器端数据同步了!大大提高了工作效率!
精品文档,仅供参考。