我面临的情况是我已经构建了SSIS包来整合来自多个数据库的表,但有时DBA会手动删除源表中的记录。如果记录被删除,有没有办法在统一表上检测?我知道每次包运行之前我都可以截断整合表,但我想知道是否还有另一种方法?
答案 0 :(得分:1)
我演示了一种管理删除目标的方法,该目标已在SQL Server Central的Stairway to Integration Services series中的源中删除。
希望这有帮助, 安迪
答案 1 :(得分:0)
我想到了几个解决方案,但我意识到现在最大的问题是你没有统一的数据源,所以A中可能不存在记录但B中存在,因此你无法删除它。 / p>
所以我的建议是,在插入之后,从所有源运行select distinct(id)并将它们放在一个结构(表,临时表,视图,UNION,等等......)上并从此源运行Merge到目的地的ID只有一个不匹配然后删除。