Integration Services Tasks

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.

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 Flow Task

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.

File System Task

FTP Task

Web Service Task

XML Task

Data Profiling Task

Workflow Tasks

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.

Execute Package Task

Execute Process Task

Message Queue Task

Send Mail Task

WMI Data Reader Task

WMI Event Watcher Task

Scripting Tasks

The tasks that extend package functionality by using scripts.

Script Task

Analysis Services Tasks

The tasks that create, modify, delete, and process Analysis Services objects.

Analysis Services Execute DDL Task

Analysis Services Processing Task

Data Mining Query Task

Maintenance Tasks

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.

Back Up Database Task

Check Database Integrity Task

Execute SQL Server Agent Job Task

Execute T-SQL Statement Task

History Cleanup Task

Maintenance Cleanup Task

Notify Operator Task

Rebuild Index Task

Reorganize Index Task

Shrink Database Task

Update Statistics Task

Backward Compatibility Tasks

The tasks that Integration Services provides for backward compatibility with SQL Server Data Transformation Services (DTS).

ActiveX Script Task

Execute DTS 2000 Package Task

Custom Tasks

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.

Adding and Configuring 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 How to: 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 Business Intelligence Development Studio. 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 How to: Set the Properties of a Task or Container.

Connecting and Grouping Tasks

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.

Tasks can be grouped together and performed as a single unit of work, or repeated in a loop. For more information, see Foreach Loop Container, For Loop Container, and Sequence Container.

Integration Services icon (small) Stay Up to Date with Integration Services

For the latest downloads, articles, samples, and videos from Microsoft, as well as selected solutions from the community, visit the Integration Services page on MSDN or TechNet:

For automatic notification of these updates, subscribe to the RSS feeds available on the page.