I am working n a SSIS package that has many Execute SQL
tasks running in parallel. Each Task contains MERGE
SQL statements. The parent table merge statements runs first and then all the child tables' merge statements run in parallel. The package uses the native transaction capabilities. I have designed the package such that the transaction level is set as "Required" on the control flow level and "Supported" on all other containers/executables.
The problem is, it works fine sometimes but other times it throws the following exception
ERROR Message:Transaction context in use by another session.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
What could be the reason? Does Isolation level has any impact? It's set as "Serializable" everywhere in the package. Retain Same Connection Property is also set to True.