请高手帮忙

judy007 2003-08-20 04:53:28
如何保持同步
我在一个sqlserver中存在a表
在另一个sqlserver中存在a表
我想保持两个表同步
如何做
...全文
31 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
judy007 2003-08-21
  • 打赏
  • 举报
回复
我现在用的是合并复制,但有时出现错误,就是一个table a 已经改变,在合并复制后另一个table a 内容没变。
zarge 2003-08-20
  • 打赏
  • 举报
回复
要求同步更新可以用MSDTC服务

MS DTC 服务
Microsoft 分布式事务处理协调器 (MS DTC) 是一个事务管理器,它允许客户端应用程序在一个事务中包含多个不同的数据源。MS DTC 协调在所有已在事务中登记的服务器间提交分布式事务。

Microsoft® SQL Server™ 安装可通过下列方法参与分布式事务:

调用运行 SQL Server 的远程服务器上的存储过程。


自动或显式地将本地事务提升为一个分布式事务并在该事务中登记远程服务器。


执行分布式更新以更新多个 OLE DB 数据源上的数据。
如果这些 OLE DB 数据源支持 OLE DB 分布式事务接口,SQL Server 还可以将它们登记在分布式事务中。

MS DTC 服务协调正确完成分布式事务,以确保所有服务器上的全部更新为永久性的,或在发生错误时删除所有更新。

happy_0325 2003-08-20
  • 打赏
  • 举报
回复
发布定阅;
smallroad 2003-08-20
  • 打赏
  • 举报
回复
用复制吧
happydreamer 2003-08-20
  • 打赏
  • 举报
回复
CREATE TRIGGER 名1 ON dbo.tabMain
FOR INSERT
AS
insert db2..tabSlave select * from inserted

CREATE TRIGGER 名2 ON dbo.tabMain
FOR update
AS
update db2..tabSlave set 列=aa.列 from inserted aa where aa.编号=db2..tabSlave.编号


CREATE TRIGGER 名3 ON dbo.tabMain
FOR delete
AS
delete db2..tabSlave where 编号 in (select 编号 from deleted)
伍子V5 2003-08-20
  • 打赏
  • 举报
回复
对实时要求比较高,可以用发布定阅;
否则也可以做联接服务器用存储过程同步。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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