我希望我可以在这里得到一些关于如何在我正在开发的SSIS包中处理这种情况的建议。
首先是一点背景。我们托管分配了唯一广告联盟ID的活动。每个事件可能有多个轮班,并分配了唯一的班次ID。
从Oracle源数据库中,我提取了ShiftIDs和PersonIDs(以及名字和姓氏)。我想更新现有SQL Server数据库中的特定表。
我看到执行操作时可能发生的三件事:
我知道如何处理方案1,但我应该如何处理方案2& 3?
答案 0 :(得分:0)
在SSIS中严格来说,答案将是慢慢变化的维度转换。但是,当它于2005年首次出现时,这种情况很糟糕,而且从那时起就没有得到维护或改进,例如,有(默默地)不支持datetime2数据类型。许多博客帖子抱怨它的性能很慢(逐行执行),但我发现它可以使用正确的索引策略。无论如何我不能推荐它。
我会将数据流输出转储到Staging表(在目标SQL Server上),然后使用SQL MERGE命令来处理所有3个场景。在编写了大量代码之后,您将获得可靠,可扩展的解决方案。