私はSSISのスターターです。ご指導のある方は、具体的にご記入ください。ありがとうございました。 2つの異なるサーバーで2つのテーブルを同期しようとしています。サーバーB上のサーバA(60Kデータ)及び表BにSSIS同期異なるサーバー上に2つのテーブル
表A(60Kデータ)。 主にある3つの事:
- は、彼らが表A表AとBが持っているし、それらを更新し、両方のない表B.
- 更新レコードにある新しいレコードを追加します。
- 削除彼らは表Aにないレコードが、Bに
は、両方のテーブルには主キーがありません。しかし、一緒に主に特定のレコードを見つけるのを助けることができる2つの列が、私はそれを把握するために、この男のメソッドを使用しようとしましたが、失敗しました
(重複各テーブルが、多くはないがあります)。私は、成功したデータの2行を持っている2つのサンプルテーブルでこの方法を試しました。実際のテーブルで
私はそれらを一緒に使用する必要があるため、私はSortKeyPosition 1及び2のように列AとBを設定します。 (!!ISNULL(S_Column A)& & ISNULL(S_Column B))
& &(ISNULL([D_Column A:
全外側は、以下のように新しいレコードのため
条件分割をマージ結合に参加します】)& & ISNULL(D_Column B))
としてレコードを削除:
(ISNULL(S_Colum N A)& & ISNULL(S_Column B))& &(!ISNULL([D_Column A])& &!ISNULL(D_Column B))
その結果、私は新しいレコードと0のレコードの34Kのデータを得ました削除する。 私は新しいレコードやものを削除するための600 + 1000 +のため、実際の結果のためにSQLでテストしてみました。 60k周りを更新する必要があります。私はこの問題の原因と解決方法を知らない。
更新:私は個人的にすべてのデータを交換するSQLコマンドを記述するためにOLE DBコマンドを使用(私は前に書き込みをしていますと仮定して)条件付き分割後(データの一部を更新する必要はありません)。私も更新のためのより良いソリューションを探しています。助け得ることを望ん
!もう一度、早い幸せな休日ありがとう!
送信元と宛先は、実際の一般的な一意の識別子として機能フィールドの任意の組み合わせを持っていない場合は、通常、重大な問題が発生します。また、サーバー間で作業するときに、あるテーブルを別のサーバー上の一時テーブルに明示的にコピーすると、処理速度が大幅に向上することがよくあります。 –
これはSQLの問題ではなく、物流の問題です。行を識別するユニークな方法がなければならず、それはユニークなID列の本質です。たとえ列の組み合わせを思いついても、ユニークなインデックスがなければパフォーマンスは悪くなります。 –
私は2つのソーステーブルから異なるデータを選択するためにsqlコマンドを使用しました。私の問題は、マージ結合部にあるようです。理由を知らずにデータが正しく入力されない – user7322333