Learn your way! Get started

SSIS 2014, Part 04 of 11: Containers and Transaction Support

with expert Don Kiely

Watch trailer

Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 11/3/2014
Level Intermediate
Runtime 1h 41m
Closed captioning Included
Transcript Included
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included

Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More

Course description

Control flow containers provide ways to group tasks so that they execute together. Containers allow you to group control flow tasks for execution, to group tasks for repeated execution given some condition, to repeatedly execute group tasks for each data member in some kind of collection and to easily set properties that affect all its contained tasks. In the looping containers you can control how and whether the member tasks of each execution group interact with each other or to share the same variable scope defined for that container. They also provide a way to define success and failure through precedents constraints for the groups of tasks as a whole. In this course you’ll learn about all containers you can use including the mostly invisible task host container that Integration Services creates for you automatically any time that you add a task to a control flow. We’ll explore all the containers and you’ll see various demos that show how you can take advantage of them. A transaction is a core concept of relational data base systems. It is one of the major mechanisms through which a data base server protects the integrity of data by making sure the data remains internally consistent. SQL Server has always had rich support for transactions and Integration Services hooks into that support. You’ll see how to implement transaction for both a package as well as for smaller units using containers. With smart transaction implementation you can build remarkably robust packages.


This course assumes that you have a basic familiarity with the concept of relational databases and a basic understanding of what SQL Server is and the high-level tools in it, as well as how to create and manage objects using Management Studio. You should also have a basic understanding of how SQL Server implements security, including its authentication and authorization schemes, and how to assign permissions on securable objects to principals. You should know the fundamentals of Transact-SQL to write queries to retrieve data and join data from multiple tables, and how to execute scripts using the query editor in Management Studio. You must also know how to connect to an instance of SQL Server 2012 using the various connection dialog boxes in Management Studio and development tools. It will be very helpful, but not absolutely necessary, to have experience with .NET development using Visual Studio 2012 or later for the portions of the course that deal with SQL Server Data Tools (which is a lot of it). At the very least, we’ll assume that you are well familiar with the Visual Studio user interface. This course assumes no prior knowledge of SQL Server Integration Services.

Learning Paths

This course will help you prepare for the following certifications and exams:
MCSE: Business Intelligence
MCSA: SQL Server 2012/2014
MCSE: Data Platform
70-467: Designing Business Intelligence Solutions with Microsoft SQL Server
70-463: Implementing a Data Warehouse with Microsoft SQL Server 2012/2014

This course is part of the following LearnNowOnline SuccessPaths™:
SQL Server Integration Services

Meet the expert

Don Kiely is a featured instructor on many of our SQL Server and Visual Studio courses. He is a nationally recognized author, instructor, and consultant specializing in Microsoft technologies. Don has many years of teaching experience, is the author or co-author of several programming books, and has spoken at many industry conferences and user groups. In addition, Don is a consultant for a variety of companies that develop distributed applications for public and private organizations.

Course outline

Containers and Transaction Support

Using Control Flow Containers (12:16)
  • Introduction (00:48)
  • Using Control Flow Containers (01:40)
  • Container Properties (03:00)
  • Task Host Container (01:22)
  • Sequence Container (02:17)
  • Sequence Container pt. 2 (02:43)
  • Summary (00:24)
Foreach Loop Container (26:30)
  • Introduction (00:59)
  • Foreach Loop Enumerators (02:00)
  • Demo: Foreach Loop (02:01)
  • Demo: Foreach Loop Variable (04:53)
  • Demo: Add Flat File Source (04:52)
  • Demo: Undo Component FIB (03:19)
  • Demo: Add DataReader Destination (02:29)
  • Demo: Enable Data Viewer (04:07)
  • Demo: Output Data (01:17)
  • Summary (00:27)
For Loop Container (17:28)
  • Introduction (00:27)
  • For Loop Container (01:29)
  • Demo: For Loop (01:58)
  • Demo: Configure Loop Container (02:19)
  • Demo: Add Script Task (00:46)
  • Demo: Edit Script Task (05:09)
  • Demo: Add Second Script Task (02:49)
  • Demo: Execute Task (01:44)
  • Summary (00:43)
Grouping Container (09:24)
  • Introduction (00:42)
  • Grouping Container (01:03)
  • Demo: Grouping Container (00:48)
  • Demo: Add Tasks and Link (00:58)
  • Demo: Group Tasks (03:34)
  • Demo: Add Execute Task (01:20)
  • Summary (00:58)
Transaction Support in Packages (26:13)
  • Introduction (00:37)
  • The ACID Test (01:56)
  • Transaction Properties (04:08)
  • Types of Transactions (01:23)
  • Demo: Transaction Support (02:03)
  • Demo: Configure and Edit Tasks (05:24)
  • Demo: Execute and Fix Errors (04:45)
  • Demo: Edit Transaction Properties (02:26)
  • Demo: Coordinator Service (02:57)
  • Summary (00:30)
Using Containers to Control Transactions (09:55)
  • Introduction (00:28)
  • Demo: Containers to Control Transactions (00:41)
  • Demo: Add Sequence Containers (00:38)
  • Demo: Add Data Types to Containers (03:10)
  • Demo: Change settings (02:15)
  • Demo: Execute Package (02:18)
  • Summary (00:24)