Execute SQL Task のロギングを実装する最良の方法は何だろうと思っていました。たとえば、SQL 実行タスク コンポーネントごとに、次のログを記録したいと思います。
1) SQL タスクの説明。2) SQL タスクで使用される SQL ステートメント。3) SQL ステートメントの結果。SQL ステートメントはスカラー値を返しています。4) SSIS が作成するジョブ実行 ID。これは、SSIS が作成する Operation_Id です。
現在、これは私がそれを実装している方法であり、非常に反復的です。
1) SQL 実行タスク (mySQLTask と呼びます) ごとに、mySQLTask の実行後イベントに「ログ結果」という別の SQL 実行タスクを作成します。2) "Log Result" Execute SQL Task から実行される Log_Result というストアド プロシージャを作成します。3) 次に、SQL ステートメントを mySQLTask からコピーし、ハードコードされたパラメーターとしてストアド プロシージャのパラメーターに貼り付けます。たとえば、SQL ステートメント プロパティの「ログ結果」SQL タスクでは、「EXEC Log_Result ?,?,'SELECT COUNT(*) FROM TABLE',?
mySQLTask から SQL ステートメントを動的に取得する方法はありますか? Aそして、これを行うためのより良い方法はありますか?
また、ロギング機能の ExecuteSQLExecutingQuery オプションの組み込みロギングで SSIS を調査しました。実行された SQL ステートメントが表示されますが、結果も追跡したいと考えています。
ありがとう。