nerdexam
Microsoft

70-463 · Question #60

You are editing a SQL Server Integration Services (SSIS) package that contains three Execute SQL tasks and no other tasks. The three Execute SQL tasks modify products in staging tables in…

The correct answer is A. Change the TransactionOption property of the package to Required. Setting the package's TransactionOption to Required creates one ambient transaction that all child tasks set to Supported will join, enabling a full rollback if any task fails.

Configure and deploy SSIS solutions

Question

You are editing a SQL Server Integration Services (SSIS) package that contains three Execute SQL tasks and no other tasks. The three Execute SQL tasks modify products in staging tables in preparation for a data warehouse load. The package and all three Execute SQL product tasks have their TransactionOption property set to Supported. You need to ensure that if any of the three Execute SQL product tasks fail, all three tasks will roll back their changes. What should you do?

Options

  • AChange the TransactionOption property of the package to Required.
  • BChange the TransactionOption property of all three Execute SQL product tasks to Required.
  • CMove the three Execute SQL product tasks into a Foreach Loop container.
  • DMove the three Execute SQL product tasks into a Sequence container.

How the community answered

(52 responses)
  • A
    83% (43)
  • B
    6% (3)
  • C
    2% (1)
  • D
    10% (5)

Why each option

Setting the package's TransactionOption to Required creates one ambient transaction that all child tasks set to Supported will join, enabling a full rollback if any task fails.

AChange the TransactionOption property of the package to Required.Correct

When a package's TransactionOption is Required, SSIS starts a distributed transaction at the package level. Child tasks with TransactionOption set to Supported automatically enlist in that ambient transaction rather than starting their own. If any of the three Execute SQL tasks fails, the single encompassing transaction is rolled back, undoing all three tasks' changes atomically.

BChange the TransactionOption property of all three Execute SQL product tasks to Required.

Setting all three tasks to Required would cause each task to start its own independent transaction, so a failure in one task would not roll back the others.

CMove the three Execute SQL product tasks into a Foreach Loop container.

A Foreach Loop container provides looping logic but does not create or manage a transaction scope and has no effect on rollback behavior.

DMove the three Execute SQL product tasks into a Sequence container.

A Sequence container is used for grouping and precedence control only; it does not create a transaction unless its own TransactionOption is explicitly set.

Concept tested: SSIS TransactionOption property and distributed transaction enrollment

Source: https://learn.microsoft.com/en-us/sql/integration-services/integration-services-transactions

Topics

#SSIS transactions#TransactionOption#rollback#Execute SQL task

Community Discussion

No community discussion yet for this question.

Full 70-463 Practice