70-463 · Question #25
You are editing a SQL Server Integration Services (SSIS) package that contains three Execute SQL tasks and no other tasks. The package and all three Execute SQL tasks have their TransactionOption prop
The correct answer is D. Change the TransactionOption property of the package to Required.. Setting the package-level TransactionOption to Required creates a single ambient transaction that all child tasks set to Supported will automatically join, enabling a full rollback if any task fails.
Question
You are editing a SQL Server Integration Services (SSIS) package that contains three Execute SQL tasks and no other tasks. The package and all three Execute SQL tasks have their TransactionOption property set to Supported. You need to ensure that if any of the Execute SQL tasks fail, all three tasks will roll back their changes. What should you do?
Options
- AMove the three Execute SQL tasks into a Sequence container.
- BMove the three Execute SQL tasks into a Foreach Loop container.
- CChange the TransactionOption property of all three Execute SQL tasks to Required.
- DChange the TransactionOption property of the package to Required.
How the community answered
(31 responses)- A10% (3)
- B3% (1)
- C6% (2)
- D81% (25)
Why each option
Setting the package-level TransactionOption to Required creates a single ambient transaction that all child tasks set to Supported will automatically join, enabling a full rollback if any task fails.
Moving tasks into a Sequence container does not create a transaction unless the Sequence container's own TransactionOption is also set to Required, so this change alone has no effect on rollback behavior.
A Foreach Loop container is used for iterating over a collection, not for wrapping tasks in a shared transaction, and does not cause all three tasks to participate in a single rollback.
Setting each Execute SQL task's TransactionOption to Required causes each task to create its own separate transaction, meaning each task rolls back independently rather than all three rolling back together as a unit.
When a package's TransactionOption is set to Required, the package starts a new distributed transaction and all child tasks with TransactionOption set to Supported automatically enlist in that same transaction. If any of the three Execute SQL tasks fail, the entire package-level transaction is rolled back, undoing all three tasks' changes as required.
Concept tested: SSIS package-level transaction management and rollback
Source: https://learn.microsoft.com/en-us/sql/integration-services/integration-services-transactions
Topics
Community Discussion
No community discussion yet for this question.