SSIS の進行状況ログにある偽の警告を取り除こうとしています。生の SQL を使用して作業を行うタスクで、未使用の列に関する警告がたくさん表示されます。新しいデータをロードする前にステージング テーブルにデータをアーカイブするデータ フローがあります。データ フローは次のようになります。
+--------------------+
| OLEDB Source task: |
| read staging table |
+--------------------+
|
|
+---------------------------+
| OLEDB Command task: |
| upsert into history table |
+---------------------------+
|
|
+---------------------------+
| OLEDB Command task: |
| delete from staging table |
+---------------------------+
私の「upsert」タスクは次のようなものです:
--------------------------------------
-- update existing rows first...
update history
set field1 = s.field1
...
from history h
inner join staging s
on h.id = s.id
where h.last_edit_date <> s.last_edit_date -- only update changed records
-- ... then insert new rows
insert into history
select s.*
from staging s
join history h
on h.id = s.id
where h.id is null
--------------------------------------
クリーンアップ タスクも SQL コマンドです。
--------------------------------------
delete from staging
--------------------------------------
upsert タスクには出力列の定義がないため、ログに一連の警告が表示されます。
[DTS.Pipeline] Warning: The output column "product_id" (693) on output
"OLE DB Source Output" (692) and component "read Piv_product staging table" (681)
is not subsequently used in the Data Flow task. Removing this unused output column
can increase Data Flow task performance.
これらの列への参照を削除するにはどうすればよいですか? いくつかの異なるタスクをドロップしようとしましたが、入力列を「飲み込んで」タスクの出力からそれらを抑制するように見えるものはありません。ログをきれいに保ちたいので、実際の問題だけが表示されます。何か案は?
ありがとう!