一、概述

            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 包。(文/青羽