简体   繁体   中英

Executing SSIS task taking too long to validate

I have an SSIS data flow task that is taking almost 20 minutes to validate upon execution. This is whether I'm running directly in VS, or executing the package from SSMS. Prior to making a few changes, the task was completing in a couple minutes.

The only changes I made were:

  1. Changing the OLE DB inputs (two in this task) from directly connecting to the source tables, to connecting to views of the table. These views are very simple - just joining to another tiny table to append a particular column. Input one has about 3 million rows, input 2 has a few hundred thousand.

  2. Modified the existing lookup transform (I thought for the better) to change the connection to "SELECT col1, col2 FROM " instead of directly connecting to this table, which is very wide.

Prior to these changes, this task was completing in a few minutes. Now, while the data flow portion completes in 1-2 minutes, each validation phase (and there are two) are taking 17-20 minutes.

Is there something about having views as inputs that complicates the validation phase?

调试屏幕截图

General approach - undo/redo step by step and see the difference. Thus you cal locate problem transformation.
From experience - second change is a performance boost, both for validation and runtime. SELECT * FROM (which is executed when you select a table from the list in Lookup) runs and validates no faster that SELECT Col1, Col2 FROM . Besides, by doing so you reduced RAM footprint.
Switch from table to view with joins can be a root of the problem. View might have execution plan with resource-consuming operations like Nested loop etc. So, I would check view exec plan and played with undoing this switch first in SSIS package.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM