求教:MSSQL数据库即时同步问题。

mrxizhang 2006-04-16 09:45:12
局域网(或不同网段)内两MSSQL数据库服务器,有完全相同的数据库FIRE4,里面有多个表。现在需要将两数据库联合起来,当一个服务器上的FIRE4中某几个表的值发生改变时,将改变反映给另一个服务器。
情形描述:
IC卡消费系统。IC卡在一个服务器所在网络消费时,数据在本地服务器上更新,这时顾客很可能立刻到另一个服务器所在网络消费,需要立刻更新另一个数据库的数据,以免出现金钱上的问题。现在记费软件已经固定,只能在SQL上想办法解决即时同步问题,各位大虾支招。
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
allfuly 2006-04-20
  • 打赏
  • 举报
回复
你还可以使用触发器来更新远程数据库当然效果和存储过程差不多,但是不需要你更改程序
----------
我第一反应也是用触发器,不过我估计两台数据库的表中都用触发器时,会不会在写表时造成死循环?
jwt1982 2006-04-20
  • 打赏
  • 举报
回复
如果你想在数据层来处理这个问题

你做使用分布式的事务机制应该是最合理的

allfuly(阿虎) 的方法也可以

你还可以使用触发器来更新远程数据库当然效果和存储过程差不多,但是不需要你更改程序
yui 2006-04-20
  • 打赏
  • 举报
回复
mark
同意阿虎的办法,不过始终觉得这种数据库架构上有点问题,有没更好的?
allfuly 2006-04-20
  • 打赏
  • 举报
回复
用远程连服务器的办法
两台SQL server :s1和s2
在s1中建远程连接服务器连到s2,名为:ss2
在s2中建远程连接服务器连到s1,名为:ss1

用存储过程实现两台机同进访问:
在s1的Fire4的存储过程中,要写入数据
insert into table1(c1,c2) values('aa','bb')
insert into ss2.fire4.dbo.table1(c1,c2) values('aa','bb')

要是在s2的Fire4的存储过程中,要写入数据

insert into table1(c1,c2) values('aa','bb')
insert into ss1.fire4.dbo.table1(c1,c2) values('aa','bb')

其它操作同理
mrxizhang 2006-04-20
  • 打赏
  • 举报
回复
哪为老大,给我说清楚点好不好啊?
huailairen 2006-04-16
  • 打赏
  • 举报
回复
使用分布式的事务机制
做存储过程 同时更新两个数据库。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧