您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > sql2000数据库数据同步复制技术
SQL2000数据库数据同步复制技术详解SqlServer数据库数据同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置SqlServer数据库数据同步是个比较好的解决方案。SqlServer数据库数据同步的配置比较烦锁,下面对其配置详细步骤进行介绍:一、数据复制前提条件1.数据库故障还原模型必需为完全还原模型。2.所有被同步的数据表都必须要用主键。3.发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行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这个帐户。以上前提条件满足以后,就可以配置数据库复制服务了。三、了解复制配置概念和原理复制服务有三个角色,分别是发布服务器,分发服务器和订阅服务器。他们分别做不同的工作。就像我们日常买书和报纸的概念是一样的。发布服务器:也称为出版服务器,主要负责数据的发布和出版工作。这个角色就好比我们的出版社或者报社。分发服务器:主要负责将发布服务器的内容分发给订阅者。他是连接发布服务器和订阅服务器的桥梁。这个角色就好比我们的邮递员,将书和报纸送到我们的手里。订阅服务器:主要负责接收发布的内容。这个角色就好比我们自己订阅书和报纸,是一个订阅者的角色。2.数据订阅模式数据订阅的模式有推式订阅和拉式订阅两种。推式订阅主要是分发服务器将数据推给订阅服务器。拉式订阅是订阅服务器主动向分发服务器取数据。这就好比我们自己订阅杂志和报纸一样,如果人家送货上门,这就是推式订阅,消耗的是分发服务器的资源,也就是消耗送货人员的资源。如果是拉式订阅,我们就需要自己到书店去购买,这样消耗的就是我们自己的资料。消耗的是订阅服务器的资源。3.数据发布类型数据发布类型可发为三种(SQL2000):A.快照复制当符合以下一个或多个条件时,使用快照复制本身是最合适的:·很少更改数据。·在一段时间内允许具有相对发布服务器已过时的数据副本。·复制少量数据。·在短期内出现大量更改B.事务复制事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制:·希望发生增量更改时将其传播到订阅服务器。·从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。·应用程序需要访问中间数据状态。例如,如果某一行更改了五次,事务性复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。·发布服务器有大量的插入、更新和删除活动。C.合并复制合并复制通常用于服务器到客户端的环境中。合并复制适用于下列各种情况:·多个订阅服务器可能会在不同时间更新同一数据,并将其更改传播到发布服务器和其他订阅服务器。·订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。·每个订阅服务器都需要不同的数据分区。·可能会发生冲突,并且在冲突发生时,您需要具有检测和解决冲突的能力。·应用程序需要最终的数据更改结果,而不是访问中间数据状态。例如,如果在订阅服务器与发布服务器进行同步之前,订阅服务器上的行更改了五次,则该行在发布服务器上仅更改一次来反映最终数据更改(也就是第五次更改的值)。四、数据复制实施步骤A.配置发布服务器打开SQLSERVER企业管理器à选择已注册的SQL服务器à工具à向导B.配置分发服务器分发可以配置在分发服务器上,也可以配置到其他的SQLSERVER服务器上。此处我们将分布服务器和分发服务器配置在同一台服务器上。下面是需要发布数据库的配置步骤:打开SQLSERVER企业管理器à选择已注册的SQL服务器à工具à向导弹出选择向导后,点击”复制”选择”创建发布向导”,选择需要发布的数据库。如下图:C.配置订阅服务器订阅服务器有两种方式。一种是推式订阅,一种是拉式订阅。具体选择那一种订阅方式。需要考虑几方面的因素:①对网络的考虑比如外网远程服务器需要订阅本地数据,由于本地服务器没有公网IP,则需要采取由本地向远程服务器进行推式订阅,即强制订阅的形式。②对服务器性能的考虑比如订阅服务器和分发服务器都是外网IP地址或者内网IP地址。但是要求复制过程中不会对分发服务器产生过大的压力。此时,我们可以采取拉式订阅的方式。拉式订阅消耗的是订阅服务器的资源,而不会对分发服务器的性能产生大的影响。推式订阅的具体配置如下:打开SQLSERVER企业管理器à选择已注册的SQL服务器工具向导复制创建强制订阅向导。如下图:五.SQLServer复制配置好后,可能出现异常情况的实验日志:1.发布服务器断网,sqlserver服务关闭,重启动,关机的时候,对已经设置好的复制没有多大影响中断期间,分发和订阅都接收到没有复制的事务信息2.分发服务器断网,sqlserver服务关闭,重启动,关机的时候,对已经设置好的复制有一些影响中断期间,发布服务器的事务排队堆积起来(如果设置了较长时间才删除过期订阅的选项,繁忙发布数据库的事务日志可能会较快速膨胀),订阅服务器会因为访问不到发布服务器,反复重试我们可以设置重试次数和重试的时间间隔(最大的重试次数是9999,如果每分钟重试一次,可以支持约6.9天不出错)分发服务器sqlserver服务启动,网络接通以后,发布服务器上的堆积作业将按时间顺序作用到订阅机器上:会需要一个比较长的时间(实际上是生成所有事务的insert,update,delete语句,在订阅服务器上去执行)我们在普通的PC机上实验的58个事务100228个命令执行花了7分28秒.3.订阅服务器断网,sqlserver服务关闭,重启动,关机的时候,对已经设置好的复制影响比较大,可能需要重新初试化我们实验环境(订阅服务器)从18:46分意外停机以,第二天8:40分重启动后,已经设好的复制在8:40分以后又开始正常运行了,发布服务器上的堆积作业将按时间顺序作用到订阅机器上但复制管理器里出现快照的错误提示,快照可能需要重新初试化,复制可能需要重新启动.(我们实验环境的机器并没有进行快照初试化,复制仍然是成功运行的)四、删除已经建好的发布和定阅可以直接用delete删除按钮我们最好总是按先删定阅,再删发布,最后禁用发布的顺序来操作。如果要彻底删去SQLServer上面的复制设置,可以这样操作:[复制]-右键选择[禁用发布]-[欢迎使用禁用发布和分发向导]-[下一步]-[禁用发布]-[要在@servername上禁用发布]-[下一步]-[完成禁用发布和分发向导]-[完成]我们也可以用T-SQL命令来完成复制中发布及订阅的创建和删除,选中已经设好的发布和订阅,按属标右键可以[生成SQL脚本]。
本文标题:sql2000数据库数据同步复制技术
链接地址:https://www.777doc.com/doc-2860459 .html