首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

Server2005数据库复制冲突解决方案,该怎么解决

2012-02-01 
Server2005数据库复制冲突解决方案大体结构如下:SQLServer1(发布服务器)---数据复制同步----SQLServer1(

Server2005数据库复制冲突解决方案
大体结构如下:

SQLServer1(发布服务器) <---数据复制同步---->SQLServer1(订阅服务器)
  | |
  | |
业务服务器1 业务服务器2

两个相同结构之间的数据库可以采用SQLServer2005的基于事务日志的复制来实现热备和负载均衡,但是我有一个问题想请教:两个数据库同一个表的同一条记录被不同服务器同时修改会造成冲突,SQLServer会以发布服务器为准进行冲突解决,但是这样由于订阅服务器的更改会回滚会造成业务数据不是想要得到的结果,想问下各位一般怎么来实现双机热备和负载均衡,请提供大致的思路,谢谢!

[解决办法]
哇!好高深啊!

帮顶,等大牛!


两个数据库同一个表的同一条记录被不同服务器同时修改


[解决办法]
两个数据库同一个表的同一条记录被不同服务器同时修改会造成冲突?

这种事情出现不了的,如果出现了,SQL SERVER早就退出江湖了。

至于双机热备份可参考如下的内容:

SQL code
双机热备份安装文档(Ver 1.1 2002.11.26)下面的文档以IBM Netfinity 7600/xSeries 250为例!说明如何安装SQL 群集本方案我已经在4家医院使用,是本人在总结了多次经验教训后写出来的1. 从IBM下载,具体的地址参阅IBM手册。Server Raid Firmware软件,升级BIOS,具体升级方法参考IBM升级文档2. 制作驱动程序在其它的机器中,插入Server Guide x.x.x System Upates And Applications光盘,next->next->选择IBM Netfinity 7600/xSeries 250 System Diskettes ->next->选择Advanced System Management Device Driver Dsikette 和IBM ActivePCI Software for Microsoft windows 2000->Next->Next->插入空的软盘,系统开始自动制作驱动程序盘,共2张。插入ServerRaid x.xx Support CD,将光盘中Diskettes/tools/disk4w32.exe和Images/dd.img 文件拷贝到硬盘中,然后运行 dsk4w32 dd.img a: 将文件释放到一张新的软盘中。3. 在nt1,nt2上安装win2000 , 切记必须去掉IIS,和群集服务设置IP地址NT1:网卡1:IP 192.168.0.2,mask:255.255.255.0,Dns1:192.168.0.2,Dns2:192.168.0.3网卡2: IP 10.0.1.1 ,mask: 255.0.0.0, Dns1:10.0.1.1,Dns2:10.0.1.2Nt2:网卡1:IP 192.168.0.3,mask:255.255.255.0,Dns1:192.168.0.3,Dns2:192.168.0.2网卡2:IP 10.0.1.2 mask:255.0.0.0 Dns1:10.0.1.2,Dns2:10.0.1.1安装后需要安装必要的驱动程序右击我得电脑->属性->硬件->设备管理器->可以看到2个未知的设备,先卸栽第一个未知设备,然后右击计算机名,选择扫描硬件驱动,插入制作好的Advanced System Managerment软盘,安装驱动然后卸栽第二个未知设备,同样的方法扫描驱动,然后插入Active PCI Device软盘安装后,必须重新启动计算机最后卸栽第三个未知设备,同样地方法扫描驱动,然后插入 ServeRaid 驱动软盘或光盘注意:如果硬盘上有东西,必须将所有的分区全部删除,然后必须重新启动!!!4. 重新启动 NT2 并放入SeveRaid 光盘系统会首先升级Bios 和 Firmware ,升级后重新启动,然后自动进入ServeRaid Manager在controller1,在Arrays 右击选择Create Arrays->Express Configuration for controller1->Next->选择Raid level 为1,(不要使用1E或5) 具体的选择和磁盘的数量有关,注意不可以选择Raid Levl 5,一般2个为1,多于2个用1+0,以4个为例,首先将2个磁盘设为1个组,做成Raid0,然后再将另外两个磁盘设为1个组,也做成Raid0,最后将这个磁盘做成Raid1重新启动后右击Controller1->选择Clustering Actions-Configure for Clustering,改Controller name=Node2,Partnet name=Node1,channel1=6右击controller1->选change strip-unit size 为16KB->选择YES单击窗口右上方的差号,选择Reboot重新启动后,取出光盘,关闭NT23. 打开NT1,插入ServeRaid 光盘注意此时系统会出现很多的信息,不能自动启动,这是因为磁盘阵列的控制权在Nt2上,按F5,系统自动更新Raid卡的BIOS,然后进入ServeRaid Manager右击controller1选择Restore to factory default Settings,在Arrays 右击选择Create Arrays->Express Configuration for controller1->Next->选择Raid level 为1,具体的选择和磁盘的数量有关,重新启动后右击Controller1->选择Clustering Actions-Configure for Clustering,改Controller name=Node1,Partnet name=Node2, channel1=7 右击controller1->选change strip-unit size 为16KB->选择YES单击窗口右上方的差号,选择Reboot重新启动后,取出光盘4. 安装最新的ServicePack,你必须安装最新的更新软件,以防止病毒的发生5. 修改目录方式Nt1开始->程序->管理工具->配置服务器->Active Directory->向下移动点击启动->选新域的域控制器->创建一个新的域目录树,创建新的域目录林继续安装->Dns全名为医院的简写,如ZZX ->是->域的NetBios名为ZZX->以下的操作全部选择默认安装后,系统必须重新启动在NT1启动后重新启动NT2开始->程序->管理工具->配置服务器->Active Directory->向下移动点击启动->选择现有域的额外域控制器->输入用户名administrator和密码没有,域名填写Nt1的域名如ZZX->Next ->单击浏览选择ZZX,下一步->其它的操作全部按照默认设置重新启动计算机6. 安装ServeRaid管理程序首先安装NT1放入ServeRaid光盘,按照向导安装ServeRaid Manager程序,安装后,将光盘中programs\winnt\cluster目录中的所有文件,拷贝到 C:\cluster目录中,备用Nt2放入ServeRaid光盘,按照向导安装ServeRaid Manager程序,安装后,将光盘中programs\winnt\cluster目录中的所有文件,拷贝到 C:\cluster目录中,备用7. 打开NT1,插入ServeRaid 光盘注意此时系统会出现很多的信息,不能自动启动,这是因为磁盘阵列的控制权在Nt2上,按F5,系统自动更新Raid卡的BIOS,然后进入ServeRaid Manage右击Controller1->选择Clustering Actions-Configure for Clustering, merge group information中logical drive1为shared, Merge group=1,点击OK重新启动计算机8. 安装磁盘阵列,写入签名首先在NT1上右击我的电脑->管理->磁盘管理,计算机会自动显示,将签名写入磁盘1->当出现选择要升级的磁盘时,将磁盘1前的勾去掉->下一步->完成这是,磁盘1已经作为基本磁盘出现,绝对不能作为动态磁盘出现,如果是需要转换为基本磁盘右击磁盘1,选择创建分区->下一步->主磁盘分区->下一步->下一步->选择指定驱动器号为S: ,格式化为NTFS分区->完成关闭我的电脑然后将S:的卷标改为share在Nt2上写入签名在NT2上运行c:\cluster\support\Ipshahto.exe,右击我的电脑选择管理->磁盘管理,可以看到基本磁盘share盘,并且盘符为E:,单击磁盘E: 右击选择更改驱动器名和路径,指派驱动器号为S:,确定即可关闭我的电脑11. 创建群集管理员帐户该帐户建立方法是:开始->程序->管理工具->Active Directory 用户计算机->点击users,,右击选择新建-用户,用户登录名为clusterAdmin,姓cluster,名为admin,下一步->输入密码->选择密码永不过期,用户不能更改密码->完成然后选择刚刚建立的clusterAdmin,右击选择属性->在描述中输入,一些警告信息->单击成员属于,添加所有的组->应用,确定即可12. 安装群集软件首先安装Nt1在Nt1上,运行c:\cluster\support\ipshahto.exe等待几分钟然后插入2000光盘,在添加和删除组件中,选择群集服务,系统开始安装群集软件,系统拷贝数据后,当系统询问是否继续安装的时候,点击取消。然后运行 c:\cluster\setup.exe当出现添加或删除 windows 2000组件时,选择群集服务->按照向导安装->单击我理解->下一步->然后选择群集中的第一个节点->群集的名称为Nt,如果原服务器的名为Nt,请改为其它的名称->下一步->输入群集服务使用的域帐户为clusteradmin,密码->下一步->当计算机出现网络连接时按下面配置3com 网卡(另外添加的100M网卡),选择只用于混合群集通讯,IBM网卡选择只用于群集通讯,选择是,在群集IP地址中IP输入虚拟服务器server的IP地址为192.168.0.4,子网:255.255.255.0网络为本地连接,就是IBM网卡使用的连接,完成,按向导操作当出现IBM ServeRaid Cluster Configuration wizard->下一步->选择IPSHA DISK S:->下一步->完成->finish安装NT2插入2000光盘,在添加和删除组件中,选择群集服务,系统开始安装群集软件,系统拷贝数据后,当系统询问是否继续安装的时候,点击取消。在Nt2中运行c:\cluster\setup.exe ->选择群集服务->下一步->下一步->硬件配置窗口中,选择第二个或下一个节点->下一步->在创建或加入群集中选群集中,选择用下面帐户连接到群集,用户名为clusteradmin ,输入密码->下一步->确定,输入密码->下一步->完成->确定->系统重新出现IBM SeveRaid Cluster Configuration Wizard->下一步->完成->Finish13. 在Nt2上 ,安装Dns服务在添加和删除程序中,选择DNS服务,安装至此,群集服务已经安装完毕测试方法两台机器:开始->程序->管理工具->群集管理器组-单击 IP SHA GROUP,在右边的列表中查看 IPSHA DISK S: 的所有着是NT1还是NT2,应该为Nt1直接关闭NT1,等几分钟,看一下,IP SHA DISK S:的资源是否自动变为NT2同时在站机中开始->运行-> ping server –t 可以看到开始值 192.168.1.4 有响应,在关闭Nt1计算机后,出现无响应,然后重新有响应恭喜:群集已经安装成功了,如果不能自动切换,所有的步骤都必须重新来过!更新 BIOS除外。14. 备份设置重新开启Nt1右击我的电脑->管理->磁盘管理器->创建将磁盘0的其它部分做成一个扩展分区,然后创建2个分区,一个2048M的Fat32分区,盘符为F: 其它全部作为一个NTFS分区在Nt2上做同样的操作然后用软盘启动NT1和NT2用ghost备份分区的内容到 F: 盘中。14.安装SQL 2000 企业版放入光盘->选择安装服务器->选择虚拟服务器,名称为NT,或原服务器的名称,输入序列号,在故障转移集群中输入虚拟IP地址192.168.0.1,子网255.255.255.0,在出现请选择用来防治数据文件的群集磁盘中选择IPSHA DISK S:下的S:,系统会出现警告,选择是->下一步,输入群集管理员的用户名(clusteradmin)和密码,用户名,域->下一步->安装类型选择典型->下一步->在服务帐户中,选择对每个服务使用同一帐户,在服务设置中,用户名为clusteradmin ,输入密码,选择身份验证模式中选混合模式,根据需要输入Sa 的密码注意:必须严格按照步骤进行,一步也不能错,否则只有重新安装! 


[解决办法]
好强悍的解答!

热点排行