SqlServer数据库同步数据处理⽅案
同步是项⽬中常⽤到的环节,若⼀个项⽬中的数据同时存在于不同的数据库中,⽽这些数据库需要被多个不同的⽹域调⽤时,配置SqlServer数据库同步是个⽐较好的解决⽅案。SqlServer数据库同步的配置⽐较烦锁,下⾯对其配置详细步骤进⾏介绍:雅诗兰黛眼霜棕瓶
⼀、 数据复制前提条件
1. 数据库故障还原模型必需为完全还原模型。
2. 所有被同步的数据表都必须要⽤主键。
3. 发布服务器、分发服务器和订阅服务器必须使⽤计算机名称来进⾏服务器的注册。
4. SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运⾏。
⼆、 解决前提条件实施步骤
1. 将数据库故障还原模型调整为完全还原模型。具体步骤如下:
打开SQLSERVER企业管理器à选择对应的数据库à单击右键选择属性à选择”选项”à 故障还原模型选择完
全还原模型。
2. 所有被同步的数据表都必须要⽤主键。(主要指事务复制)如果没有主键的数据表,增加⼀个字段名称为id,类型为int 型,标识为⾃增1的字段。
3. 发布服务器、分发服务器和订阅服务器必须使⽤计算机名称来进⾏SQLSERVER服务器的注册。
在企业管理器⾥⾯注册的服务器,如果需要⽤作发布服务器、分发服务器和订阅服务器,都必需以服务器名称进⾏注册。不得使⽤IP地址以及别名进⾏注册,⽐如LOCAL, “.”以及LOCALHOST等。
clip_image002
如果⾮同⼀⽹段或者远程服务器,需要将其对应关系加到本地系统⽹络配置⽂件中。⽂件的具体位置
在%systemroot%/system32/drivers/etc/hosts
配置⽅式: ⽤记事本打开hosts⽂件,在⽂件的最下⽅添加IP地址和主机名的对应关系。如图:
clip_image002[4]
SQLSERVER必需启动代理服务,且代理服务必需以本地计算机的帐号运⾏。
启动SQLSERVER代理的⽅法:我的电脑à单击右键”管理”à服务à SQLSERVERAGENT 将其设为⾃动启动。如图:
clip_image004
以本地计算机帐户运⾏的配置⽅法: 打开SQLSERVER企业管理器,选择管理SQLSERVER代理。单击右键属性。将系统帐户更改为本地帐户且此本地帐号要求有系统管理员的权限。⼀般设置为administrator这个帐户。
clip_image006
以上前提条件满⾜以后,就可以配置数据库复制服务了。
2021年冬至具体时间三、了解复制配置概念和原理
1.数据复制⾓⾊
clip_image002[6]
复制服务有三个⾓⾊,分别是发布服务器,分发服务器和订阅服务器。他们分别做不同的⼯作。就像我们⽇常买书和报纸的概念是⼀样的。
发布服务器: 也称为出版服务器,主要负责数据的发布和出版⼯作。这个⾓⾊就好⽐我们的出版社或者报社。
分发服务器: 主要负责将发布服务器的内容分发给订阅者。他是连接发布服务器和订阅服务器的桥梁。这个⾓⾊就好⽐我们的邮递员,将书和报纸送到我们的⼿⾥。
订阅服务器: 主要负责接收发布的内容。这个⾓⾊就好⽐我们⾃⼰订阅书和报纸,是⼀个订阅者的⾓⾊。手工纸抽盒
2. 数据订阅模式
数据订阅的模式有推式订阅和拉式订阅两种。推式订阅主要是分发服务器将数据推给订阅服务器。 拉式订阅是订阅服务器主动向分发服务器取数据。
这就好⽐我们⾃⼰订阅杂志和报纸⼀样,如果⼈家送货上门,这就是推式订阅,消耗的是分发服务器的资源,也就是消耗送货⼈员的资源。如果是拉式订阅,我们就需要⾃⼰到书店去购买,这样消耗的就是我们⾃⼰的资料。消耗的是订阅服务器的资源。
3.数据发布类型
数据发布类型可发为三种(SQL2000):
A. 快照复制
clip_image004[7]
clip_image006[6]
当符合以下⼀个或多个条件时,使⽤快照复制本⾝是最合适的:
· 很少更改数据。
· 在⼀段时间内允许具有相对发布服务器已过时的数据副本。
· 复制少量数据。
· 在短期内出现⼤量更改
B. 事务复制
clip_image008
clip_image010
心理学课程事务性复制通常⽤于服务器到服务器环境中,在以下各种情况下适合采⽤事务性复制:
· 希望发⽣增量更改时将其传播到订阅服务器。
· 从发布服务器上发⽣更改,⾄更改到达订阅服务器,应⽤程序需要这两者之间的滞后时间较短。
· 应⽤程序需要访问中间数据状态。例如,如果某⼀⾏更改了五次,事务性复制将允许应⽤程序响应每次更改(例如,激发触发器),⽽不只是响应该⾏最终的数据更改。
· 发布服务器有⼤量的插⼊、更新和删除活动。
C. 合并复制
clip_image012
clip_image014
合并复制通常⽤于服务器到客户端的环境中。合并复制适⽤于下列各种情况:
· 多个订阅服务器可能会在不同时间更新同⼀数据,并将其更改传播到发布服务器和其他订阅服务器。
· 订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。
· 每个订阅服务器都需要不同的数据分区。
· 可能会发⽣冲突,并且在冲突发⽣时,您需要具有检测和解决冲突的能⼒。
· 应⽤程序需要最终的数据更改结果,⽽不是访问中间数据状态。例如,如果在订阅服务器与发布服务器进⾏同步之前,订阅服务器上的⾏更改了五次,则该⾏在发布服务器上仅更改⼀次来反映最终数据更改(也就是第五次更改的值)。
四、数据复制实施步骤
A. 配置发布服务器
打开SQLSERVER企业管理器à选择已注册的SQL服务器à⼯具à向导
clip_image002[8]
弹出选择向导后,选择“配置发布和分发向导”后,出现如下向导:
clip_image004[9]
点击”下⼀步”
开心宝贝小心超人clip_image006[8]
选择此服务器作为分发服务器和分发服务器,点击下⼀步
clip_image008[4]
选择快照⽂件夹,注意此处必段要使⽤⽹络路径。
点击下⼀步,
clip_image010[4]
使⽤默认设置,点击下⼀步后点击完成, 出现正在配置对话框,如下图:
clip_image012[4]
配置完成后出现如下对话框:
clip_image014[4]
此时,说明我们的发布服器配置成功了!
点击确定后,会谈出如下窗⼝。如下图:
clip_image016
此时SQLSERVER企业管理器中多了⼀项复制监视器。如下图:
clip_image018
发布服务器配置成功以后,我们可以开始来配置发布服务器了。
B.配置分发服务器
分发可以配置在分发服务器上,也可以配置到其他的SQLSERVER
服务器上。此处我们将分布服务器和分发服务器配置在同⼀台服务器上。下⾯是需要发布数据库的配置步骤:
打开SQLSERVER企业管理器à选择已注册的SQL服务器à⼯具à向导
弹出选择向导后,点击”复制”选择”创建发布向导”,选择需要发布的数据库。如下图:
clip_image020
点击“创建发布”后,出现向导,点击“下⼀步”出现如下界⾯:
clip_image022
此界⾯要求确认选择需要发布的数据库,系统会⾃动选中第⼀次选择的数据库,只需要点击“下⼀步”后出现如下界⾯:
clip_image024
此时需要选择发布的类型,跟据我们对发布类型的描述和⽹络带宽情况,选择合适的发布类型,⽐较常⽤的是快照发布和事务发布。下⾯就以这两个发布为例进⾏配置。⾸先我们选择快照发布,点击“下⼀步”, 出现如下界⾯:
clip_image026
此时向导提⽰我们选择订阅 服务器的类型。由于我们现在⽤的都是
SQL SERVER 2000, 所以此时我们只选择“运⾏SQL SERVER 2000的服务器”即可(系统默认选项),然后点击“下⼀步”,出现如下界⾯:
clip_image028
此时出现选择数据库对象进⾏发布,我们可以全部选择,也可只选择需要发布的表、存储过程、视图以及⾃定义函数等。我们点击表的“全部发布”,点击“下⼀步”,出现如下界⾯:
clip_image030
由于我们采⽤的是快照复制,所以会出现⼀个”IDENTITY属性未传输到订阅服务器的问题(就是指不会转输int类型为⾃增1的属性,但是数据会进⾏传输)”,此时我们点击下⼀步, 出现如下界⾯:
clip_image032
出现以上界⾯后,我们再次点击“下⼀步”,会出现如下对话框:
clip_image034
可以选择对定义数据的筛选,⽐如进⾏垂直(数据的列)或者⽔平(数据的⾏)的筛选。此处我们选择否(系统默认),然后点击”下⼀步”,如下图:
clip_image036
出现配置完成的界⾯,点击完成即可。如下图:放弃我抓紧我播出时间
clip_image038
发布服务器创建完成后,会出现如下界⾯:
clip_image040
致此,发布服务器的配置就完成了。
此时我们可以通过复制监视器来查看现有服务器的各项复制代理的⼯作情况。如下图:
clip_image042
当发布服务器配置完成以后,我们可以被发布的数据库多了⼀个⼿托着的图标。如下图:
注:如果需要对某数据库进⾏事务复制,只需要在分布类型中选择“事务发布”就可以了。如下图:
clip_image046
其他操作与快照复制相同。需要注意的是“事务复制”要求数据表必需要有主键,否则⽆法对表进⾏发布。
发布服务器配置完成以后,我们可能进⾏订阅服务器的配置了。
C. 配置订阅服务器
订阅服务器有两种⽅式。⼀种是推式订阅,⼀种是拉式订阅。
具体选择那⼀种订阅⽅式。需要考虑⼏⽅⾯的因素:
① 对⽹络的考虑 ⽐如外⽹远程服务器需要订阅本地数据,由于本地服务器没有公⽹IP,则需要采取由本地向远程服务器进⾏推式订阅,即强制订阅的形式。
② 对服务器性能的考虑 ⽐如订阅服务器和分发服务器都是外⽹IP地址或者内⽹IP地址。但是要求复制过程中不会对分发服务器产⽣过⼤的压⼒。此时,我们可以采取拉式订阅的⽅式。拉式订阅消耗的是订阅服务器的资源,⽽不会对分发服务器的性能产⽣⼤的影响。
推式订阅的具体配置如下:
打开SQLSERVER企业管理器à选择已注册的SQL服务器⼯具向导复制创建强制订阅向导。如下图:
clip_image048
选择需要强制订阅的数据库,单击“强制新订阅“后出现了强制新订阅的欢迎向导。如下图:
clip_image050
点击“下⼀步”,选择需要订阅服务器,如下图:
clip_image052
单击“下⼀步”,出现订阅数据库的名称, 如下图:
clip_image054
此时,创建⼀个适合的数据库名点“浏览或创建”就可以选择现
有的数据库或者创建⼀个新的数据库了。如下图:
clip_image056
如果需要新建⼀个数据库,我们可以点击“新建”,出现了新建数据库的对话框。如下图:
clip_image058
新建完数据库之后,点击“下⼀步”如下图:
clip_image002[10]
选择分发代理何时更新订阅内容,可以使⽤最短的滞后时间,也
可以选择使⽤调度,此时我们选择连续池(默认设置),然后点击”下⼀步”, 出现如下界⾯:
clip_image004[11]
点击“下⼀步”进⾏初始化架构和数据, 此时系统会检测SQLSERVER代理服务的⼯作状态。如下图:
clip_image006[10]
如果状态是“正在运⾏”,可点击“下⼀步”,如果状态是未知,则需要检查⼀下SQLSERVER代理服务是否启动,如果没有,则需要启动⼀下SQLSERVER的代理服务。点击”下⼀步”之后,
出现配置完成界⾯,如下图:
clip_image008[6]
点击“完成”,并开始配置订阅了。如下图:
clip_image010[6]
⾄此推式订阅配置完成。(拉式订阅配置与此基本相同,需要在订阅服务器上通过复制向导配置请求订阅即可)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论