• With only a single Precedence Constraint in place I am not aware of a configuration that would allow SSIS to execute a subsequent task without the previous task completing, whether that be Success, Failure or either one (Completion). Now, if there are multiple Precedence Constraints feeding the Task doing the TRUNCATE and the constraints are set to allow OR, instead of AND, then the TRUNCATE could run before the proc.

    Without knowing a bit more about the process I can only offer a couple other guesses:

    1. If your Execute SQL Task and the Task that issues the TRUNCATE TABLE statements are not bound by the same database transaction then data could theoretically enter the source table after the stored procedure runs, but before the TRUNCATE TABLE statements are issued, meaning data could be forever lost.

    2. Something (code, schema, data) changed and it rendered with the procedure that does the archiving ineffective. Have you verified procedure is still copying data as expected when not run through the SSIS Package?

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato