January 23, 2012 at 6:18 pm
I have about 20 dataflows and child packages that don't depend on eachother. However I know 5 of them do take much longer than the other 15. I know SSIS caluclates based on the processors of your server how many to run concurrently.
I was wondering if there is any way to make it start those 5 first before starting others.
Right now I am assuming 8 processors on the server. I don't want to leave precedence constraints because then it waits until those are completed before it starts new ones. I am hoping the other 15 get completed while those 5 are running.
January 24, 2012 at 5:48 am
Maybe put the 5 slow ones in one package and the 15 fast ones in another package and then running those two packages simultaneously?
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP
January 24, 2012 at 11:43 am
Ran into this myself. There's no way to prioritize multiple streams in the same data flow.
However, create two separate dataflows in the same controlflow. Use a script component to 'Wait 2 seconds' before firing off the 15 stream dataflow, allowing the first 5 stream dataflow to take up what threads it needs off the processor before the other 15 come into play.
Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.
For better assistance in answering your questions[/url] | Forum Netiquette
For index/tuning help, follow these directions.[/url] |Tally Tables[/url]
Twitter: @AnyWayDBA
January 24, 2012 at 1:14 pm
There is only 1 stream per data flow, but 20 data flows.
January 24, 2012 at 2:01 pm
Khades (1/24/2012)
There is only 1 stream per data flow, but 20 data flows.
You can merge those dataflows together. A dataflow can have multiple streams.
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP
January 24, 2012 at 6:37 pm
I've run into this as well, I combined the small flows into a single one and ran that in parallel with some others that ran much longer. This gave me much more control of the flow.
CEWII
January 25, 2012 at 10:03 am
Yep, I'd go for merging the dataflows too 🙂
January 26, 2012 at 8:53 am
You can use sequence containers to group things and put precedence constraints between the containers to run them one at a time.
January 26, 2012 at 11:36 am
P Jones (1/26/2012)
You can use sequence containers to group things and put precedence constraints between the containers to run them one at a time.
Exact opposite of what he's looking to do. He just wants to make sure the long ones kick off first, and then start processing the small ones in parallel, instead of all the small ones taking up all the streams and the long ones waiting till the end.
Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.
For better assistance in answering your questions[/url] | Forum Netiquette
For index/tuning help, follow these directions.[/url] |Tally Tables[/url]
Twitter: @AnyWayDBA
Viewing 9 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic. Login to reply