2016-06-17 9 views
1

私はSSISをかなり使い慣れており、DB2 ServerテーブルからSQLテーブルへのデータの単純な移行を行っています。データの更新方法を決定するにあたって、ステージングテーブルを使用して、何らかの方法で変更された行を更新する必要があります。私の目標は、列ごとの更新を行う必要がないように、そのステージングテーブルから宛先にセットベースの更新を行うことだけです。SSISのステージングテーブルの場所 - 同じデータベース内にある必要がありますか?

私が苦しんでいる問題は多分問題ではないかもしれませんが、たぶん私は新郎です。しかし、私は疑問に思っていました...ステージングテーブルは、更新が必要なテーブルと同じデータベースにある必要がありますか?

答えて

1

いいえ、必要に応じて別のデータベースに入れることができます。

+0

大丈夫です。私は私の次の質問は、どのように更新を実行するのだろうと思う。 マイステージングテーブルは、ローカルトランザクション接続マネージャのtempdbデータベースにあります。そして、更新が必要なテーブルは別のサーバにあります。 ヘルプがありますか? – John

+0

他のサーバーにある場合は、更新を行うにはリンクサーバーを使用する必要があります。可能ですが、可能であれば、ステージングテーブルを宛先テーブルと同じサーバーに配置することをお勧めします。パフォーマンスははるかに良いでしょう。 –

+0

迅速な対応をありがとう! – John

0

あなたの質問はある意味があります。
一般的に、ETLシナリオでは、テーブルは異なるDBからのものです。
しかし、Microsoft SQLでは、スピーディーなETLプロセスのためにパーティションスイッチングというテクニックがあります。この方法では、宛先テーブルを(週単位で)パーティション化し、完全なパーティションをステージングテーブルに切り替えてデータを更新し、ステージングテーブルを変更中のパーティションに戻すことで週全体のデータを更新します。 この特定のケースでは、テーブルは同じDB内になければなりません。

関連する問題