2017-05-12 7 views
0

SSISパッケージの開発とデバッグの目的で、SQL Server 2012とSSDT 2010を使用しています。SSISパッケージのデータフロータスクが不定期にスタックされる

私は、OLE DBソースとOLE DBターゲットの2つのコンポーネントのみを持つシンプルなデータフロータスクを持っています。ターゲット表は、複数の日付のデータを保管し、ソース表から徐々にロードされます。つまり、ソース表が新しい日付でデータを受け取るたびに、ターゲット表にロードされます。データフローに適用される変換、計算またはロジックはありません。

ソースOLE DBは IN DATE_COL NOT(TARGET_TABLE FROM DISTINCT DATE_COL選択)SOURCE_TABLE FROMソース - SELECT *からのデータを選択するために、次のクエリを使用します。

OLE DBターゲットページでは、高速ロードとして設定されており、テーブルロックオプションもオフになっています。

SSDTからパッケージを実行するたびに、データフローパス内の図の一部の行のみが処理として表示され、決して終わりのない段階に入ります。図は成長せず、パッケージは強制的に停止するまで終了しません。

ありがとうございます。

+0

こんにちは@Abhishekは([SSIS]を見てみましょうhttp://stackoverflow.com/questions/20063225/ssis-how-to -copy-one-table-into-different-tables)を使用しても問題が解決しない場合は、スクリーンショットを共有できます。 – Joby

+0

データフローでは、WHERE句に必要なものを達成するためにルックアップを使用する必要があります。 – Wendy

+1

Lookupではさらにパフォーマンスの問題が発生します。あなたの最初の作業は、SSMSでクエリを実行し、どれくらい時間がかかるかを確認することです。それでは、パフォーマンスが向上するかどうかではなく、EXISTSを使用することをお勧めします。 –

答えて

0

左にサブクエリを代入してみは以下のように参加:

SELECT a.* FROM source_table a 
left join target_table b 
on a. date_col=b.date_col where b.date_col is null 
+0

おそらくもっと良いのは 'exists'を使用しています –

+0

私は左の結合を使ってみました。存在はSSMSでより速く結果を出しました。しかし、問題はSSISパッケージのどこかにあると思う。 SSDTからデバッグモードでパッケージを実行すると、データフローレコードは増加しません。 –

+0

ここに同じ問題がありますか、答えを見つけましたか? – Henrov

関連する問題