设计包控制流

Integration Services 包中的控制流用不同类型的控制流元素构造而成:容器、任务和优先约束;容器提供包中的结构并给任务提供服务,任务在包中提供功能,优先约束将容器和任务连接成一个控制流。

用控制流设计器(即 SSIS 设计器中**“控制流”**选项卡上的设计图面)创建包中的控制流。

创建控制流包含下列任务:

  • 添加在包中实现重复的工作流或将控制流划分为子集的容器。

  • 添加支持数据流、准备数据、执行工作流和商业智能功能以及实现脚本的任务。

  • 使用优先约束把容器和任务连接为有序控制流。

如果控制流包含连接到数据源的任务和容器,则还必须将连接管理器添加到包中。您可以在使用控制流设计器时添加连接管理器,但也可以在**“数据流”“事件处理程序”**选项卡处于活动状态时添加这些管理器。

SSIS 设计器也包含多个设计时功能,这些功能可用于管理设计图面以及使控制流自文档化。

使用控制流设计器

当**“控制流”选项卡处于活动状态时,SSIS 设计器显示用于在包中创建控制流的设计图面,利用连接管理器区域,您可以添加或修改包所使用的连接管理器,而“工具箱”列出“控制流项”“维护计划中的任务”。工具箱的“控制流项”节点列出多种类型的任务和容器,而“维护计划中的任务”**节点只列出用于维护 SQL Server 数据库和作业的任务。

下面的关系图显示了控制流设计器中简单包的控制流。此关系图中显示的控制流由三个包级任务和一个包含三个任务的包级容器组成。通过使用优先约束将任务和容器连接起来。

SSIS 设计器的“控制流”选项卡

添加和配置容器

Integration Services 包含三种可以在控制流中使用的容器类型。

  • Foreach 循环容器,用于创建使用枚举器实现循环的重复控制流。例如,Foreach 循环容器可以配置为使用 Foreach 文件枚举器对某文件夹内的所有文件执行操作。有关详细信息,请参阅 Foreach 循环容器将枚举添加到控制流

  • For 循环容器,用于创建评估实现循环所需条件的重复控制流。例如,For 循环容器可以配置为重复某任务七次。有关详细信息,请参阅 For 循环容器将迭代添加到控制流

  • 序列容器,用于在控制流中创建子集,以便将多个任务作为一个单元来管理。例如,可以禁用序列容器,而这样做又将禁用该容器中的所有任务。有关详细信息,请参阅序列容器在控制流中使用序列

添加和配置任务

Integration Services 包含了多种任务,可以用其创建满足包的业务要求的控制流。如果包必须使用数据,则控制流必须包含至少一个数据流任务。例如,包可能必须提取数据、聚合数据值,然后将结果写入到数据源。有关详细信息,请参阅 Integration Services 任务将任务添加到控制流

连接任务和容器

将任务或容器添加到**“控制流”**选项卡的设计图面后,SSIS 设计器自动将连接线添加到项。如果包中包含两个或更多项、任务或容器,则可以通过将它们的连接线从一项拖动到其他项而将它们联接成控制流。

两个项之间的连接器表示优先约束。优先约束定义了两个连接项之间的关系。它指定了运行时任务和容器的执行顺序以及任务和容器的运行条件。例如,优先约束可以指定某任务必须成功,才能运行控制流中的下一个任务。有关详细信息,请参阅优先约束对任务和容器设置优先约束

添加连接管理器

多个任务需要连接到数据源,因此必须将任务需要的连接管理器添加到包。根据所使用的枚举器类型,Foreach 循环容器可能也需要连接管理器。可以在逐项构造控制流时或开始构造控制流前添加连接管理器。有关详细信息,请参阅 Integration Services 连接添加连接管理器

设计时功能

SSIS 设计器包含两个用于控制流的设计时功能。

  • 把部分控制流包含在可折叠的分组构造中,以节省设计图面空间。有关详细信息,请参阅对任务和容器分组

  • 将批注添加到设计图面以使包自文档化。有关详细信息,请参阅在包中使用批注

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 或 TechNet 上的 Integration Services 页:

若要获得有关这些更新的自动通知,请订阅该页上提供的 RSS 源。