Tasks are control flow elements that define units of work that are performed in a package control flow. An SQL Server Integration Services package is made up of one or more tasks. If the package contains more than one task, they are connected and sequenced in the control flow by precedence constraints.
You can also write custom tasks using a programming language that supports COM, such as Visual Basic, or a .NET programming language, such as C#.
The SSIS Designer, the graphical tool in SQL Server Integration Services for working with packages, provides the design surface for creating package control flow, and provides custom editors for configuring tasks. You can also program the SQL Server Integration Services object model to create packages programmatically.
Types of Tasks
Integration Services includes the following types of tasks.
Data Flow Task
The task that runs data flows to extract data, apply column level transformations, and load data.
Data Preparation Tasks
These tasks do the following processes: copy files and directories; download files and data; run Web methods; apply operations to XML documents; and profile data for cleansing.
The tasks that communicate with other processes to run packages, run programs or batch files, send and receive messages between packages, send e-mail messages, read Windows Management Instrumentation (WMI) data, and watch for WMI events.
SQL Server Tasks
The tasks that access, copy, insert, delete, and modify SQL Server objects and data.
The tasks that extend package functionality by using scripts.
Analysis Services Tasks
The tasks that create, modify, delete, and process Analysis Services objects.
The tasks that perform administrative functions such as backing up and shrinking SQL Server databases, rebuilding and reorganizing indexes, and running SQL Server Agent jobs.
Additionally, you can write custom tasks using a programming language that supports COM, such as Visual Basic, or a .NET programming language, such as C#. If you want to access your custom task in the SSIS Designer, you can create and register a user interface for the task. For more information, see Developing a Custom Task.
Configuration of Tasks
An Integration Services package can contain a single task, such as an Execute SQL task that deletes records in a database table when the package runs. However, packages typically contain several tasks, and each task is set to run within the context of the package control flow. Event handlers, which are workflows that run in response to run-time events, can also have tasks.
For more information about adding a task to a package using SSIS Designer, see Add or Delete a Task or a Container in a Control Flow.
For more information about adding a task to a package programmatically, see Adding Tasks Programmatically.
Each task can be configured individually using the custom dialog boxes for each task that SSIS Designer provides, or the Properties window included in SQL Server Data Tools (SSDT). A package can include multiple tasks of the same type—for example, six Execute SQL tasks—and each task can be configured differently. For more information, see Set the Properties of a Task or Container.
Tasks Connections and Groups
If the task contains more than one task, they are connected and sequenced in the control flow by precedence constraints. For more information, see Precedence Constraints.