一、概述
Integration Services 是用于生成高
性能数据集成和
工作流解决方案(包括针对数据仓库的提取、转换和加载 (ETL) 操作)的平台。
Integration Services 包括:
a)生成并
调试包的图形
工具和向导;
b)执行如 FTP 操作、SQL 语句执行和电子邮件消息传递等工作流功能的任务;
c)用于提取和加载数据的数据源和目标;
d)用于清理、聚合、合并和复制数据的转换;
e)管理服务,即用于管理 Integration Services 包的 Integration Services 服务;
f)用于对 Integration Services 对象
模型编程的应用程序
接口 (
API)。
二、SSIS体系结构
SSIS由四大部分组成:服务、对象模型、运行时和数据流。
下面这张大图显示了各部分之间的关系:
服务
在Configuration Manager中可以看到SSIS的服务:SQL Server Integration Services。
提示:
1、设计和执行IS包不需要启动该服务,可以使用 SQL Server 导入和导出向导、SSIS
设计器、执行包实用工具以及 dtexec 命令提示实用工具运行包。
2、如果要通过SQL Server Management Studio监视包,则需要启动该服务。
使用SSMS监视时,可以看到两个顶级文件夹:“正在运行的包”和“已
存储的包”。
在“正在运行的包”文件夹下可以停止某个运行的包。
对象模型
对象模型包括用于访问 Integration Services 工具、命令行实用工具以及自定义应用程序的本机和
托管应用程序编程接口 (API)。
工具介绍:
Business Intelligence Development Studio(BIDS)
创建和调试包。
BIDS中的设计器
如下图:
命令
dtexec:运行现有的包;
如执行包:dtexec /f "c:\pkgOne.dtsx"
dtutil:可以对包进行访问,复制、删除、移动和 签名等;
如复制包:dtutil /FILE c:\myTestedPackage\package.dtsx /DestServer myserver /COPY SQL;newpackage
运行时
包的运行时,为日志记录、断点、
配置、连接和事务提供支持。
数据流
数据流任务封装数据流
引擎。数据流引擎提供将数据从源移动到目标的内存中的缓冲区,并且调用从文件和关系数据库中提取数据的源。
三、典型用途
合并来自异类数据存储区的数据
合并存储在不同数据存储系统中的数据,提取这些数据合并到单个一致的数据存储系统中。
填充数据仓库和数据集市
数据仓库和数据集市中的数据具有更新频繁和加载量大的特点,SSIS专门提供了一个从平面文件大容量加载到 SQL Server的任务。
清除数据和数据标准化
Integration Services 包含一些内置转换,可将其添加到包中以清理数据和将数据标准化、更改数据的大小写、将数据转换为不同类型或格式或者根据表达式创建新列值。
将商业智能置入数据转换过程
Integration Services 提供了用于将商业智能置入 SSIS 包的容器、任务和转换。
可能需要根据数据值对数据进行汇总、转换和分发,SSIS 包中的逻辑可能需要执行以下类型的任务:
a)合并来自多个数据源的数据。
b)计算数据并应用数据转换。
c)根据数据值将一个数据集拆分为多个数据集。
d)将不同的聚合应用到一个数据集的不同子集。
e)将数据的子集加载到不同目标或多个目标。
使管理功能和数据加载自动化
管理功能自动化,例如备份和还原数据库等,可以使用 SQL Server 代理作业安排SSIS 包。(文/ 青羽)