2017-07-21 17 views
2

SSISパッケージにログを実装しようとしています。私はカスタムログテーブルにバッチを開始しましたというメッセージを書いてロギングを開始したいと思います。私は現在、並行して実行される以下のタスクを作成しています。私はそれを記録する実行SQLタスクを作成することを考えています。パッケージ内の他のタスクを実行する前にsqlタスクを実行するようにSSISに指示する方法を教えてください。これらすべてのタスクをシーケンスコンテナで移動する必要がありますか。SSISを使用するタスクのシーケンス

私のパッケージのスクリーンショットを見つけてください。 enter image description here

+1

- あなたはを参照することができます詳細については

。注:コンテナをリンクするにはいくつかの方法があります( "成功"、 "失敗"、 "完了")。私は主にデフォルトの "成功"を使用します。あるコンテナから次のコンテナへのフローを制御するための制約を含めることもできます。https://docs.microsoft.com/en-us/sql/integration-services/control-flow/precedence-constraints – MiguelH

+1

上記のタスクをシーケンスコンテナ内のシーケンスではなく、並行して実行してください。 – Tom

+0

@Tom現在の状態でそれらを移動すると、シーケンスコンテナ内で並列に実行されます。 –

答えて

1

私がロギングを実装すると感じる最良の方法は、非侵入的な方法で、つまりそれらをバックグラウンドで実行させることです。 SSISは、この機能を「イベントハンドラ」によって提供します。

パッケージを開き、「イベントハンドラ」に移動します。 「実行可能」を「あなたのパッケージ名」に設定して、「イベントハンドラ」として「OnPreExecute」を選択します。ハイパーリンクをクリックすると、監査のために 'Execute SQL Task'を追加します。

上記を使用して、「OnPostExecute」を追加することができます。さらに、この技法は、個々のタスクレベルにわたって実装することもできます。あなたは、シーケンスコンテナの任意の数に入れ、その後、必要な順序でコンテナをリンクすることができhttps://docs.microsoft.com/en-us/sql/integration-services/integration-services-ssis-event-handlers

関連する問題