1、数据库同步技术解决方案doc数据库同步技术解决方案 -数据库发布订阅SqlServer数据库同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置SqlServer数据库同步是个比较好的解决方案。SqlServer数据库同步的配置比较烦锁,下面对其配置详细步骤进行介绍:一、 数据复制前提条件 1. 数据库故障还原模型必需为完全还原模型。 2. 所有被同步的数据表都必须要用主键。 3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。 4. SQLSERVER必需启动代理服务,且代理服务必
2、需以本地计算机的帐号运行。 二、 解决前提条件实施步骤 1. 将数据库故障还原模型调整为完全还原模型。具体步骤如下: 打开SQLSERVER企业管理器选择对应的数据库单击右键选择属性.选择”选项”恢复模式选完整。 2. 所有被同步的数据表都必须要有主键。(主要指事务复制)如果没有主键的数据表,增加一个字段名称为id,类型为int 型,标识为自增1的字段。 3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。 在企业管理器里面注册的服务器,如果需要用作发布服务器、分发服务器和订阅服务器,都必需以服务器名称进行注册。不得使用IP地址以及别名进行注册,比如
3、LOCAL, “.”以及LOCALHOST等。 4.如果非同一网段或者远程服务器,需要将其对应关系加到本地系统网络配置文件中。文件的具体位置在%systemroot%system32driversetchosts 配置方式: 用记事本打开hosts文件,在文件的最下方添加IP地址和主机名的对应关系。 如图: 5.SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运行。 启动SQLSERVER代理的方法:我的电脑单击右键”管理”服务 SQLSERVERAGENT 将其设为自动启动。如图: 6. 打开SQL Server 配置管理器确保TCP/IP已经启用 2.查看属性,有的可能
4、设置为1433 机器默认设置,是这样: 端口号为1433,你也可以自己设置一个数值较大的端口号,设置完后重新启动SQL SERVER,其它不用重启 配置防火墙的“高级设置 ”,将C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLBinnsqlservr.exe,“新建规则”到“入站规则”中。 将 UDP端口 1433 “新建规则”到“入站规则”中。 否则客户端将由于访问不到1433端口进而无法获得TCP使用的动态端口。 以上前提条件满足以后,就可以配置数据库复制服务了。 三、了解复制配置概念和原理 1. 数据复制角色 复制服务有
5、三个角色,分别是发布服务器,分发服务器和订阅服务器。他们分别做不同的工作。就像我们日常买书和报纸的概念是一样的。 发布服务器: 也称为出版服务器,主要负责数据的发布和出版工作。这个角色就好比我们的出版社或者报社。 分发服务器: 主要负责将发布服务器的内容分发给订阅者。他是连接发布服务器和订阅服务器的桥梁。这个角色就好比我们的邮递员,将书和报纸送到我们的手里。 订阅服务器: 主要负责接收发布的内容。这个角色就好比我们自己订阅书和报纸,是一个订阅者的角色。 2. 数据订阅模式 数据订阅的模式有推式订阅和拉式订阅两种。推式订阅主要是分发服务器将数据推给订阅服务器。 拉式订阅是订阅服务器主动向分发服务
6、器取数据。 这就好比我们自己订阅杂志和报纸一样,如果人家送货上门,这就是推式订阅,消耗的是分发服务器的资源,也就是消耗送货人员的资源。如果是拉式订阅,我们就需要自己到书店去购买,这样消耗的就是我们自己的资料。消耗的是订阅服务器的资源。 3.数据发布类型 数据发布类型可发为三种(SQL2000): A. 快照复制 当符合以下一个或多个条件时,使用快照复制本身是最合适的: 很少更改数据。 在一段时间内允许具有相对发布服务器已过时的数据副本。 复制少量数据。 在短期内出现大量更改 B. 事务复制 事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制: 希望发生增量更改时将其传播
7、到订阅服务器。 从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。 应用程序需要访问中间数据状态。例如,如果某一行更改了五次,事务性复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。 发布服务器有大量的插入、更新和删除活动。 C. 合并复制 合并复制通常用于服务器到客户端的环境中。合并复制适用于下列各种情况: 多个订阅服务器可能会在不同时间更新同一数据,并将其更改传播到发布服务器和其他订阅服务器。 订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。 每个订阅服务器都需要不同的数据分区。 可能会
8、发生冲突,并且在冲突发生时,您需要具有检测和解决冲突的能力。 应用程序需要最终的数据更改结果,而不是访问中间数据状态。例如,如果在订阅服务器与发布服务器进行同步之前,订阅服务器上的行更改了五次,则该行在发布服务器上仅更改一次来反映最终数据更改(也就是第五次更改的值)。 四、数据复制实施步骤 A. 配置发布服务器 1. 选择 复制 节点2.右键本地发布 -下一步-系统弹出对话框看提示点击”下一步” 选择数据库作为发布数据库,点击下一步 选择发布类型。 点击下一步, 选择发布项目和对象: 点击下一步, 筛选: 下一步快照代理运行时间。下一步代理登陆设置,点击安全设置进入配置完成,到代理安全性界面,
9、下一步此时,说明我们的发布服器配置成功了! C. 配置订阅服务器(图略) 订阅服务器有两种方式。一种是推式订阅,一种是拉式订阅。 具体选择那一种订阅方式。需要考虑几方面的因素: 对网络的考虑 比如外网远程服务器需要订阅本地数据,由于本地服务器没有公网IP,则需要采取由本地向远程服务器进行推式订阅,即强制订阅的形式。 对服务器性能的考虑 比如订阅服务器和分发服务器都是外网IP地址或者内网IP地址。但是要求复制过程中不会对分发服务器产生过大的压力。此时,我们可以采取拉式订阅的方式。拉式订阅消耗的是订阅服务器的资源,而不会对分发服务器的性能产生大的影响。 推式订阅的具体配置如下: 右键本地订阅-选择发布服务器-选择订阅方式(如果是在服务器方订阅的话选择推送订阅反之 选择请求订阅)-填加订阅服务器-选择代理计划(一般选择连续运行)-其余选择默认项。 至此, SQL SERVER 2005 同步复制就完成了。使用复制技术,用户可以将一份客户端的数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性,就无需编程实现客户端和服务器端数据同步了!大大提高了工作效率! 精品策划书
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1