SSIS学习之SSIS介绍

12.1 SSIS介绍

SSIS首先是在1997年的SQL Server 7.0中引入的,当时它的名称为数据转换服务(DTS)。SSIS属于ETL产品家族,ETL代表提取(Extraction)、转换(Transformation)和加载(Loading)。

现在,越来越多的企业都有数据仓库。ETL是将来自OLTP数据库的数据定期加载到数据仓库中必不可少的工具。在SQL Server的前两个版本—— SQL Server 7.0和SQL Server 2000中,SSIS主要集中于提取和加载。通过使用SSIS,可以从任何数据源中提取数据以及将数据加载到任何数据源中。在SQL Server 2005中,对SSIS进行了重新设计和改进。SSIS提供控制流和数据流。控制流也称为工作流或者任务流,它更像工作流,在工作流中每个组件都是一个任务。这些任务是按预定义的顺序执行的。在任务流中可能有分支。当前任务的执行结果决定沿哪条分支前进。

数据流是新的概念。数据流也称为流水线,主要解决数据转换的问题。数据流由一组预定义的转换操作组成。数据流的起点通常是数据源(源表);数据流的终点通常是数据的目的地(目标表)。可以将数据流的执行认为是一个流水线的过程,在该过程中,每一行数据都是装配线中需要处理的零件,而每一个转换都是装配线中的处理单元。

图12-1显示了SSIS设计器。可以通过启动Business Intelligence Development Studio,然后创建一个Integration Services项目来调用SSIS设计器。在左边有一个工具箱窗口。工具箱窗口包含预定义的控制流任务和数据流转换。中间的视图窗格包含4个视图:控制流、数据流、事件处理程序和包资源管理器。控制流视图提供了一个设计环境,在这个设计环境中可以使用工具箱中与控制流相关的项来构建控制流。数据流视图也提供了一个设计环境,在这个设计环境中可以使用工具箱中与数据流相关的项来构建数据流。在事件处理程序视图中,可以定义由特定的执行事件触发的后续响应操作。包资源管理器视图提供了流的树型视图。

图12-1 SSIS设计器

12.1.1 理解SSIS包

包(package)是SSIS项目中基本的部署和执行单元。SSIS任务执行的所有工作都发生在包的上下文中。SSIS包是SSIS流的容器。可以通过以下方式来创建SSIS包:在Integration Services项目文件夹中右击“SSIS包”文件夹,然后选择“新建SSIS包”菜单项。

SSIS项目可以包含多个包。包只包含一个控制流,而该控制流可以包含一个或者多个数据流。

除了控制流和数据流,包还包含了SSIS连接和包的变量。可以有不同作用域的变量,例如,作用域为整个包的全局变量或者作用域为任务序列的局部变量。

在托盘中显示了连接和变量,如SSIS设计器底部所示(参见图12-1)。连接可以连向关系数据库,也可以连向Analysis Services数据库。

12.1.2 任务流

SSIS包包含一个控制流,该控制流由一组任务组成。这些任务定义了包的工作,例如,加载数据、执行SQL语句、处理脚本或者调用其他过程。在工具箱中列出了这些任务。可以通过以下方式将任务加入包中:从工具箱中拖动该任务,然后将它释放到包的设计器中。

在任务流中,包通常包含多个任务。多个任务是按优先权约束的顺序来进行组织的。优先权约束按以下顺序连接两个任务:执行第一个任务的结果决定是否运行第二个任务。可以在工作流中使用优先权约束来创建条件分支。可以将多个优先权约束进行组合,然后将其作为一个约束来求值。

1. 在SSIS中的标准任务

表12-1列出了SSIS任务流中的一些预构建的任务及其描述信息。

除了在下表中所列出的任务之外,SSIS还提供了简单的API,可以使用这些API来开发自己的任务。一旦注册了任务,则在工具箱中将会出现这些任务,然后可以在任务流中像所有预构建的任务一样使用这些任务。

表12-1 SSIS的任务

任 务

描 述

大容量插入任务

将来自文本文件的大量数据加载到SQL Server表中

数据流任务

支持在不同类型的数据源之间进行数据的复制和转换。一个数据流任务包含一条数据流流水线

执行包任务

运行子包

执行进程任务

将程序或者批处理文件作为包的一部分来运行

(续表)

任 务

描 述

执行SQL任务

在包的执行期间运行SQL语句,然后有选择地保存这些查询的结果

文件系统任务

执行文件系统操作

FTP任务

从远程服务器或者Internet的某个位置下载数据文件,并且将这些数据文件作为包的工作流的一部分

消息队列任务

在SSIS包之间使用消息队列来发送和接收消息

脚本任务

使用脚本来执行在预构建的SSIS任务中不可用的函数。通过使用Script任务,可以在Microsoft Visual Studio for Applications(VSA)环境中使用Visua

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值