日期:2014-05-18  浏览次数:20480 次

强有力的技术贴!! 关于SQL数据交互的技术交流!
现在需要将B地、C地的数据时时传输到A地 将A地的商品数据时时更新到B地 C地
本人目前的做法
B 、C 两地做好链接服务器(链接A)
然后通过 存储过程的方式进行数据交互
A地
  机器名称 ANAME
  数据库名称 ADB
B地
  机器名称 BNAME
  数据库名称 BDB
C地
  机器名称 CNAME
  数据库名称 CDB

B地的传输语句为:  

SQL code

CREATE PROC BCTOA
AS
BEGIN
/*将B地的销售记录上传到A地的XIAOSB中*/
INSERT INTO ANAME.ADB.DBO.XIAOSB
(BH,MC,GG,DJ,SHL)
SELECT BH,MC,GG,DJ,SHL FROM XIAOSB WHERE IS_SC='否'

/*将B地的商品表(SPB)中的名称 更新为A地的名称*/
UPDATE SPB SET SPMC=B.SPMC
 FROM SPB A,ANAME.ADB.DBO.SPB B WHERE A.SPBH=B.SPBH WHERE B.IS_GX='否'




这样的做法 发现数据传输的速度非常慢 非常慢
有时只有几条数据 更新一次需要10几分钟!!!
请问大家有什么更好的方法来实现 快速的数据交互 
请大家多多交流


------解决方案--------------------
可以考虑同步复制的方式。
------解决方案--------------------
考虑使用SQL Server Service Broker 技术。
------解决方案--------------------
sql 做的话,给个建议,别因网络问题锁占表太久时间。 比如建好临时表,再一次性导入。
------解决方案--------------------
用复制(Replication),选事务模式的.
第一次同步时是全部传,以后的每次同步就只传送差异的部分了.