SSIS has a handy property for containers, tasks, data connections and at the package level that can be set called Delay Validation.
In this article we will briefly explain what exactly it is, and then give an easy to follow example of when you could use it.
What is Delay Validation?
Delay Validation is available in versions of SQL Server from 2005 onward.
Normally when you open up a SSIS package the containers are validated immediately. By setting the delay validation property to true, the validation is instead done at runtime.
How to set Delay Validation
When looking at the properties of a data flow task or other container you will see the propery described as DelayValidation.
By default it is set to false, which means that validation will be done prior to the package running.
To delay the validation until runtime – select TRUE.
Reasons to use DelayValidation
There are a number of situations where using this setting could be a good idea.
Sometimes you will run a bit of code in a container, or task, that creates an object. If the package tries to validate it may fail because the object does not exist.
By setting the delayvalidation to true, the component will not attempt to validate prior to running, and the code will be able to complete.
If you happen to set your dataconnections at runtime and delayvalidation is not set to true, if the connections default values are not correct your package may fail. So that is another instance where you may want to use this feature.
Have you ever had to use delay validation?