包由一个控制流以及可选的一个或多个数据流组成。SQL Server 2005 Integration Services (SSIS) 提供了三个不同类型的控制流元素:提供包中结构的容器、提供功能的任务以及将可执行文件、容器和任务连接为已排序控制流的优先约束。
下面的关系图显示具有一个容器和六项任务的控制流。
容器是 SQL Server 2005 Integration Services (SSIS) 中为包提供结构和为任务提供服务的对象。它们支持包中的重复控制流,并且将任务和容器分组为有意义的工作单元。除了任务,容器还可以包含其他容器。
包将容器用于下列用途:
- 重复执行集合中每个元素的任务,这些元素包括文件夹中的文件、架构或 SQL 管理对象 (SMO) 对象等。例如,包可以运行驻留在多个文件中的 Transact-SQL 语句。
- 重复执行任务,直到指定表达式的求值结果为 false 为止。例如,包可以一周七次,每天一次地发送一封不同的电子邮件。
- 将必须作为一个单元成功或失败的任务和容器分组到一起。例如,包可以将在数据库表中删除和添加行的任务分组到一起,然后当其中一个任务失败时提交或回滚所有任务。
容器类型
通过使用枚举器重复运行控制流。 | |
通过测试某个条件重复运行控制流。 | |
将任务和容器分组到那些作为包控制流子集的控制流中。 | |
为单个任务提供服务。 |
任务
任务在包中执行工作。Integration Services 包含执行多种功能的任务。
- 数据流任务定义并运行提取数据、应用转换和加载数据的数据流。
- 数据准备任务复制文件和目录,下载文件和数据,保存由 Web 方法返回的数据或使用 XML 文档。
- 工作流任务与其他进程通信以运行包或程序,在包之间发送和接收消息,发送电子邮件,读取 Windows Management Instrumentation (WMI) 数据或监视 WMI 事件。
- SQL Server 任务访问、复制、插入、删除或修改 SQL Server 对象和数据。
- Analysis Services 任务创建、修改、删除或处理 Analysis Services 对象。
- 脚本任务通过自定义脚本来扩展包的功能。
- 维护任务执行管理功能,如备份和收缩 SQL Server 数据库、重新生成和重新组织索引以及运行 SQL Server 代理作业
优先约束
优先约束将包中的容器和任务连接为已排序控制流。可以控制任务和容器的执行序列,并指定决定任务和容器是否运行的条件。