繁体   English   中英

如何同步存储在不同数据库中的两个表

[英]How to synchronize two tables stored in different databases

我在不同的数据库中有两个表。 这些表完全相同(相同的名称、相同的列等)。 我的问题是,如何从父表中检索新行并存储到子表中? 我需要在按钮的 click_event 中这样做。 提前致谢。

有几种技术专门用于此类场景:

  • SQL 复制
    • 支持单向或双向同步
  • 安全信息系统
    • 允许您定义数据的映射以及转换,并轻松地将其他代码附加到流程中
  • 链接服务器
    • 允许您查询远程服务器上的数据库和表,就好像它们是本地数据库的一部分一样。 非常容易设置(只需调用exec sp_addlinkedserver )并且一旦定义就只使用普通的旧 SQL

既然您提到这需要在单击按钮时发生,那么我建议您在存储过程中使用链接服务器——它们是最简单的选择。 SSIS 也适用,您需要在单击按钮时执行包。

使用链接服务器自己解决了这个问题。 是一个关于如何创建链接服务器的简单教程。 创建链接服务器后,我们可以如下查询:

select * from LinkedServerName.DatabaseName.dbo.TableName

工作完美! 接受 STW 的回答,因为他解释了不同的方法。

(长且非最佳的解决方案)从第一个表中获取所有 ID。 从第二个表中获取所有 ID。 循环遍历第一个数组并删除在第二个数组中找到的所有项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM