【发布时间】:2015-06-15 04:13:58
【问题描述】:
在 ssis 2012 中,假设我只是将客户数据从一个数据库源复制到一个数据库目标(两者都是不同的数据库实例,一个无法“看到”另一个)。 如何防止添加之前已经添加的客户数据。换句话说,当我重新运行任务时,它不应该添加客户两次或更多(仅添加之前失败的客户)。我们在目标客户表中提供了非唯一参考,例如'SourceCustomerID' 是非唯一的! 所以我们不能依赖 Destination 表中的某些唯一索引,如果可以的话,我不想这样(会导致失败)...
根据以下问题添加:存在唯一标识目标表中的数据的列,为此我们需要这些列,但这些也不是作为唯一索引实现的,我也不想让作业(或行)失败像这样。我想防止以受控方式添加这些行。
我尝试了查找组件,玩“查找无匹配输出”等...还没有运气。
任何想法如何使用 SSIS 原则来实现这一点?
最好的问候 巴特。
【问题讨论】:
-
我将您的问题解读为“当我没有任何可以唯一标识重复的内容时,如何防止重复?”当然,这不是你要问的
-
您的意思是不是单个字段,而是多个字段的组合使该行唯一?
-
感谢您的回复。有一个字段可以唯一标识重复项,但该字段不是唯一约束。但如果是这样,我想在有比赛时默默地跳过(或以友好的方式登录)。当处理中出现错误时,我想修复这些错误,然后重新运行而不创建重复项(现在正在发生)。
-
您实际上应该能够使用查找组件来执行此操作。这种方法的实际问题是什么?
-
当有“不匹配”时我想添加...当有匹配时我什么都不想做...它似乎可以工作,但最终会添加重复项
标签: sql-server ssis integration