这是我的第一篇文章..我有两个SQL Server数据库位于不同的服务器上。
假设从源数据库SDB到数据库DDB的DDT (目标数据表)的源数据表的SDT
我正在使用C#进行从SDT到DDT的批量复制。
我的代码是这样的:
sqlcommand = "Delete * from DDT where locID = @LocIDParam" // @LocIDParam is the parameter for a specific location //
then bulk copy "Select * from SDT where locID = @LocIDParam" // the steps are well known.. 我只是不想去找无用的细节。
但是,我的SDT有一个巨大的数据,因此它导致大容量复制整个表的流量很高
是否可以将仅更新的记录从SDT批量复制到DDT,以及插入新记录?
对于这种情况,您认为对更新的和新插入的数据使用SQL触发器是最好的想法吗?(触发器将主键值插入到新的和更新的单个列表中,然后基于此删除和插入from/to DDT )
PS。我不想使用SQL复制,因为它有很多问题。
提前谢谢你
发布于 2011-04-29 05:01:53
从那一天起,我想你已经找到了你的解决方案。如果不是,下面是我们如何处理类似情况的方法。
在源表上,我们有一列显示数据是否必须发送到目标。我们使用布尔值,但您也可以有一个显示上次更新日期的日期时间字段。
然后,我们的pull过程将执行以下操作:
如果你使用SQL2008,有一个我不知道的合并选项。这里有一个解释它的链接:SQL 208 MERGE command
如果你仍然需要的话,希望这会对你有所帮助。
https://stackoverflow.com/questions/4639794
复制相似问题