这是我的第一篇文章..我有2个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触发器更新和新插入的数据是这种情况的最佳选择吗? (触发器将主键值插入新的单个列表并更新,然后根据此删除和插入DDT)
PS。我不想使用SQL复制,因为它有很多问题。
提前谢谢
答案 0 :(得分:0)
从我想你已经喜欢你的解决方案之日起。如果没有,这就是我们如何处理某种类似的情况。
在源表上,我们有一个列,显示是否必须将数据发送到目标。我们使用布尔值,但您也可以使用显示上次更新日期的日期时间字段。
然后我们的拉动过程确实如下:
如果您使用SQL 2008,则有一个我不知道的合并选项。这里有一个解释它的链接: SQL 208 MERGE command
希望如果你还需要,这会对你有帮助。