January 18, 2005 at 8:05 am
We have a package which runs that truncates the data from the LIVE database before loading data from a STAGING database back into the LIVE tables. The package currently logs its results to a file on the C:
When I checked this morning I noticed that one of my tables was empty which should have been populated. From looking at the DTS log I found that the data had been loaded from STAGE to LIVE but looking at the timing of the package drew my attention to the fact that the loading of the table started at the same time as the Truncate table Task(Even though I have an on Success of Truncate Task - continue with load) the load into this one table also finished before the Truncate task had completed, which lead me to believe that the data had been loaded and then truncated.
I have looked at the workflow properties of the 6 data pumps and there is only one set with a precedence rule. (I believed that the on success from the Execute SQL task to the STAGE connection would hold off the loading of the data until after the Truncation? That obviously isn't the case.
I have changed the package on a test server to apply precedence rules on all the data pumps to run after the Truncate task and that seems to work.
Does anybody know of a better way to do this and also why you have to have precedence rules on every data pump ?
Thanks in advance
Carl
January 19, 2005 at 9:14 am
Don't know if you are aware, but you can add more than one destination step precendence on a singe source step.
Click on one of the 'on completion' lines and open it. You will see an add button to add more than one destination. The destinations will then hold off until the single source step is complete.
Best way to do it.
January 19, 2005 at 9:32 am
Not sure what you mean?
I actually implemented the following last night and it seemed to job the job when I checked this morning:
I have 1 'on success' line that goes from the SQL Execute Task to the Stage database connection
Inside the 'on success' line there are 6 source steps all set to the Truncate table task
The Precedence for all 6 steps in Success
The destination is the 6 different data pumps that need to run.
I think that is what you were inferring I do?
January 19, 2005 at 10:03 am
Sounds like you've got it. It's exactly what I meant - You see more than entry when looking at the OnSuccess flow.
Incidentally, if you want to check to make sure the logic is correct, a little trick I use is 'WAITFOR TIME nnn.
I set this for longer time than the execution time for the step and then watch how the package executes as a whole. You can then spot things executing out of step with the others.
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply