By default run-time validation occurs in two phases:
1) Package-level validation (or 'early validation') - occurs when the Runtime calls the Excecute method of a package. EVERYTHING in the package gets validated.
If validation succeeds and the package commences its execute phase we come to
2) Component-level validation (or 'late validation') - occurs when the Runtime calls the Execute method for each and every task within the package.
This means that by default, all tasks within a package are validated twice!
As well as affecting the design-time validation of package components, 'Delay Validation = True' disables the Early Validation (package-level) phase so that only Component-Level validation occurs at run-time. NOTE that it's not possible to disable Component-level validation.
In general, delaying validation of all your components once you've finished development and are ready to deploy is a good option. It reduces overall package execution time (as early validation is skipped) and makes opening the package for editing less painful (as you don't need to wait for all the components to validate).
Obviously, you may have scenarios where you want early validation to occur which is why I say in general so don't blindly delay validation without first considering the effect it will have on your package.
commented on Jul 6 2012 4:47AM