0
私はシナリオを持っています。私は日付ベースでマージステートメント を使用してインクリメンタルロードを実装しています。インクリメンタルロードSSISのマージまたは使用
データがソースレベルで削除されても、データウェアハウスにはまだデータがあります。
どのようにこのようなシナリオを処理しますか?
お勧めします。
ありがとうございました
私はシナリオを持っています。私は日付ベースでマージステートメント を使用してインクリメンタルロードを実装しています。インクリメンタルロードSSISのマージまたは使用
データがソースレベルで削除されても、データウェアハウスにはまだデータがあります。
どのようにこのようなシナリオを処理しますか?
お勧めします。
ありがとうございました
ソーステーブルと参照テーブルを逆にします。新しい/更新されたデータはAで始まり、Bで変更があるかどうかを調べます。データを削除したら、Bで始まり、Aで一致するものを探します。一致するものが見つからない場合は、Bから削除します。削除するすべてのレコードをテーブルにステージングし、セットベースの削除を実行するか、データフロー内でOLE DBコマンドを使用するかどうかは、ボリュームの問題です。数十、おそらく数百の削除が予想される場合、OLE DB Commandオブジェクトのパフォーマンスはおそらくfindになります。削除する何百万もの人がいる場合は、そのコンポーネントの行単位の性質のペナルティを支払うことは望ましくありません。