我正试图在我的SSIS进度日志中删除一些虚假警告.我在使用原始SQL来完成工作的任务中收到一堆关于未使用列的警告.我有一个数据流负责在加载新数据之前将数据存档到临时表中.数据流如下所示:
+--------------------+
| OLEDB Source task: |
| read staging table |
+--------------------+
|
|
+---------------------------+
| OLEDB Command task: |
| upsert into history table |
+---------------------------+
|
|
+---------------------------+
| OLEDB Command task: |
| delete from staging table |
+---------------------------+
Run Code Online (Sandbox Code Playgroud)
我的'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
--------------------------------------
Run Code Online (Sandbox Code Playgroud)
清理任务也是一个SQL命令:
--------------------------------------
delete from staging
--------------------------------------
Run Code Online (Sandbox Code Playgroud)
由于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.
Run Code Online (Sandbox Code Playgroud)
如何消除对这些列的引用?我尝试过几个不同的任务,但似乎没有一个让我"吞下"输入列并将它们从任务的输出中抑制掉.我想保持我的日志清洁,所以我只看到真正的问题.有任何想法吗?
谢谢!
归档时间: |
|
查看次数: |
18849 次 |
最近记录: |