今天由于工作需要,写了这篇文章,SQL2000估计很多人都不用了,我觉得写下来是一种思路。
现实环境:A区:一台服务器,3台客户端 ,B区:1台服务器,10多台客户端。A区和B区网络互通。A区的客户端,服务器全部访问B区主服务器,B区客户端访问B区服务器。
故障:A区到B区网络丢包,导致A区的客户端访问B区的服务器反应缓慢。(线路距离过长,网络暂时不能解决丢包问题)
需求:A区服务器上数据库同步B区的服务器上的数据,将A区的客户端访问A区的服务器,实现A区客户端较顺畅的使用。
结果:在试验后发现,A区客户端,和B区客户端同时插入主键相同记录时,会出现主服务器数据覆盖备服务器数据。
猜想:全球企业,应该各地都有分公司,各地终端数据写入是如何实现?欢迎大家留言告诉我。也可以一起讨论。
===================================================================================================
实验注意事项:
1:两台计算机的系统安装好后,一定要先将机器名等修改好,重启计算机。
2:分别安装数据库,
3:检查计算机名和数据库下机器名是否一致
计算机下:CMD 输入hostname
SQL查询界面:select @@servername
如果一致,则继续。
===================================================================================================
实验过程:
1:准备两台虚拟机, 安装好系统,数据库,修改计算机名称等。
2:在主服务器上打开“企业管理器”,添加管理组,再将主备服务器添加到SQL组。
如图:(有人说在企业管理器里面用IP地址会失败,我没有测试。按理说IP应该是没有问题的。)
选择你要复制的数据库,选择工具,复制,配置发布订阅服务器和发布,
3:在打开的界面一路下一步即可直到完成,工作中可以适当的修改一下。
4:选择下图中的发布,在弹出界面选择新建发布,在选择需要的数据库,
5:
这里注意:
第一项:一定时间内从主服务器上更新自己,但是备服务器上不能做任何修改等操作,可查询。
第二项:是备服务器从主服务器更新,备服务器上的操作不会同步到主服务器。
(注意插入,当主服务器插入一条记录后,备服务器插入一条相同的记录,这备服务器这条记录插入失败(提示插入失败))
第三项主备服务器相互更新。
(注意同时插入含有主键的记录,当主服务器插入一条记录后,备服务器插入一条相同的记录,这备服务器这条记录会被覆盖(不会提示插入失败),即:不能插入含有主键
的记录)。
6:一路下一步,到下图,选择复制的对象,下一步。 直到完成。
7:完成结构如图:
8:在SQL组选择备用服务器。选择,复制下的订阅,在右边空白部分右击,选择,新建请求订阅,如图
9:选择下一步,根据相应的环境选择,我们这选择“查看已注册的服务器所做的发布,”,在下一步。
在选择点开刚刚我们做的发布服务器选择发布的任务,在下一步,
10:可能会出现这个情况,这是因为我们在配置发布,订阅服务器时没有勾选订阅服务器,
11:下面取消,我们回到发布服务器,选择复制,发布内容,选择“配置发布和订阅。。”如图:勾选订阅服务器,确定后在回到我们的订阅服务器。
12:后面都可以很简单了,根据需要进行选择即可,我就不再截图了。至此我们的SQL2000主从复制搭建就完毕了。
13:验证大家可以在查询分析器里面插入数据进行验证即可。
===================================================================================================