SqlServer数据库同步方案详解.docx
上传人:王子****青蛙 上传时间:2024-09-13 格式:DOCX 页数:11 大小:1.6MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

SqlServer数据库同步方案详解.docx

SqlServer数据库同步方案详解.docx

预览

免费试读已结束,剩余 1 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、数据复制前提条件1.数据库故障还原模型必需为完全还原模型。2.所有被同步的数据表都必须要用主键。3.发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行HYPERLINK"http://www.jzxue.com/tag/SQLServer/"\t"_blank"SQLSERVER服务器的注册。4.SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。二、解决前提条件实施步骤1.将数据库故障还原模型调整为完全还原模型。具体步骤如下:打开SQLSERVER企业管理器à选择对应的数据库à单击右键选择属性à选择”选项”à故障还原模型选择完全还原模型。2.所有被同步的数据表都必须要用主键。(主要指事务复制)如果没有主键的数据表,增加一个字段名称为id,类型为int型,标识为自增1的字段。3.发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。在企业管理器里面注册的服务器,如果需要用作发布服务器、分发服务器和订阅服务器,都必需以服务器名称进行注册。不得使用IP地址以及别名进行注册,比如LOCAL,“.”以及LOCALHOST等。如果非同一网段或者远程服务器,需要将其对应关系加到本地系统网络配置文件中。文件的具体位置在%systemroot%\system32\drivers\etc\hosts配置方式:用记事本打开hosts文件,在文件的最下方添加IP地址和主机名的对应关系。如图:SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。启动SQLSERVER代理的方法:我的电脑à单击右键”管理”à服务àSQLSERVERAGENT将其设为自动启动。如图:以本地计算机帐户运行的配置方法:打开SQLSERVER企业管理器,选择管理SQLSERVER代理。单击右键属性。将系统帐户更改为本地帐户且此本地帐号要求有系统管理员的权限。一般设置为administrator这个帐户。以上前提条件满足以后,就可以配置数据库复制服务了。三、了解复制配置概念和原理1.数据复制角色复制服务有三个角色,分别是发布服务器,分发服务器和订阅服务器。他们分别做不同的工作。就像我们日常买书和报纸的概念是一样的。发布服务器:也称为出版服务器,主要负责数据的发布和出版工作。这个角色就好比我们的出版社或者报社。分发服务器:主要负责将发布服务器的内容分发给订阅者。他是连接发布服务器和订阅服务器的桥梁。这个角色就好比我们的邮递员,将书和报纸送到我们的手里。订阅服务器:主要负责接收发布的内容。这个角色就好比我们自己订阅书和报纸,是一个订阅者的角色。2.数据订阅模式数据订阅的模式有推式订阅和拉式订阅两种。推式订阅主要是分发服务器将数据推给订阅服务器。拉式订阅是订阅服务器主动向分发服务器取数据。这就好比我们自己订阅杂志和报纸一样,如果人家送货上门,这就是推式订阅,消耗的是分发服务器的资源,也就是消耗送货人员的资源。如果是拉式订阅,我们就需要自己到书店去购买,这样消耗的就是我们自己的资料。消耗的是订阅服务器的资源。3.数据发布类型数据发布类型可发为三种(SQL2000):A.快照复制当符合以下一个或多个条件时,使用快照复制本身是最合适的:·很少更改数据。·在一段时间内允许具有相对发布服务器已过时的数据副本。·复制少量数据。·在短期内出现大量更改B.事务复制事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制:·希望发生增量更改时将其传播到订阅服务器。·从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。·应用程序需要访问中间数据状态。例如,如果某一行更改了五次,事务性复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。·发布服务器有大量的插入、更新和删除活动。C.合并复制合并复制通常用于服务器到客户端的环境中。合并复制适用于下列各种情况:·多个订阅服务器可能会在不同时间更新同一数据,并将其更改传播到发布服务器和其他订阅服务器。·订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。·每个订阅服务器都需要不同的数据分区。·可能会发生冲突,并且在冲突发生时,您需要具有检测和解决冲突的能力。·应用程序需要最终的数据更改结果,而不是访问中间数据状态。例如,如果在订阅服务器与发布服务器进行同步之前,订阅服务器上的行更改了五次,则该行在发布服务器上仅更改一次来反映最终数据更改(也就是第五次更改的值)。四、数据复制实施步骤A.配置发布服务器打开SQLSERVE