2020年1月10日第1页第18章集成服务本章概述本章要点本章内容2020年1月10日第2页本章概述在使用数据库的过程中,经常面临众多的管理问题。例如,许多数据是按照不同的格式形成和存储的(如Oracle数据和SQLServer数据),而人们希望实现这些数据之间的转换;当创建数据仓库或数据集市时,需要频繁地加载数据,并且对这些数据进行各种清洗、抽取、转换等。MicrosoftSQLServer2008系统提供的集成服务可以有效地解决这些问题。本章全面介绍集成服务的体系架构特点和使用方式。2020年1月10日第3页本章要点为什么要引入集成服务异构数据的特征和面临的问题数据仓库的特征和面临的问题SSIS体系架构的特点DTP的架构特点和作用DTR的架构特点和作用使用SSIS导入/导出向导管理包使用SSIS设计器管理包配置和部署SSIS包2020年1月10日第4页本章内容18.1概述18.2集成服务的体系架构18.3创建包18.4部署包18.5本章小结18.1概述在数据库的实际应用中,经常面临两大问题,一是如何有效地解决异构数据问题,二是如何有效地创建数据仓库和向数据仓库加载数据。由于数据库市场的激烈竞争,用户往往使用不同的数据存储结构,甚至同一个用户也可能在不同的时期、不同的部分、不同的领域使用不同的数据存储结构,导致用户经常面临异构数据现象。异构数据是指具有不同存储结构的数据。由于业务的需要,不同的数据源之间经常需要进行相互转换。异构数据问题实际上就是不同存储结构数据之间如何有效相互转换的问题。2020年1月10日第5页SSISMicrosoftSQLServer2008系统提供的集成服务(SQLServerIntegrationServices,简称为SSIS)可以较好地解决异构数据问题和数据仓库加载问题。早在MicrosoftSQLServer7.0/2000系统中,微软提供了一个DTS服务,用于解决异构问题和加载数据问题。但是,在2008系统中,微软重写了集成服务,对原有的DTS进行改变,目的是使其成为企业级的ETL平台(extract,transformation,andloading,即:抽取、转换和加载)。2020年1月10日第6页18.2集成服务的体系架构从大的方面来看,SSIS可以分为两个组成部分,即DataTransformationPipeline(DTP)和DataTransformationRuntime(DTR)。这种划分的目的是为了清晰划分数据流和控制流。DTP完成数据流的工作,DTR负责控制流。在以前的DTS版本中,数据流的功能远远强大于控制流。但是,在SSIS中,控制流和数据流有着同样强大的功能和重要性。DTP替代了以前版本中的DTSDataPump,其功能是处理源和目标对象之间的数据流。DTR主要是控制SSIS包中所使用的控制流的作业执行环境2020年1月10日第7页SSIS体系架构示意图2020年1月10日第8页数据转换服务转换DTP对象模型DataTransformationPipeline(DTP)导入/导出向导DataTransformationRuntime(DTR)DTR对象模型DTS设计器dtexec命令DTP体系架构的特点2020年1月10日第9页数据源适配器输出列转换输入列输出列目标数据适配器输入列输出列DTR体系架构示意图2020年1月10日第10页SSIS包容器任务任务任务任务任务18.3创建包MicrosoftSQLServer2008系统提供了3种创建包的方法,即SSIS导入/导出向导、SSIS设计器和DTR对象模型。下面,重点介绍前两种方法的特点。2020年1月10日第11页使用SSIS导入/导出向导SSIS导入/导出向导提供了一系列对话框,帮助用户完成选择数据源、目标和传输对象的过程。该向导允许用户有选择地保存和执行SSIS包。可以使用两种方式启动SSIS导入/导出向导。一种方式是在SQLServerManagementStudio工具中,通过选择SQLServer实例引擎、数据库,从右击弹出的菜单中选择“任务”︱“导入数据”或“导出数据”,可以启动SSIS导入/导出向导。另外一种方式,是在命令行中输入dtswizard命令,启动SSIS导入/导出向导。2020年1月10日第12页“选择数据源”对话框2020年1月10日第13页“选择目标”对话框2020年1月10日第14页“指定表复制或查询”对话框2020年1月10日第15页“选择源表和源视图”对话框2020年1月10日第16页“查看数据类型映射”对话框2020年1月10日第17页“保存并运行包”对话框2020年1月10日第18页“保存SSIS包”对话框2020年1月10日第19页使用SSIS设计器虽然SSIS导入/导出向导可以方便地传输数据和创建包,但是对于ETL操作来说,这种传输方式比较简单,很难满足复杂的应用场景。因为ETL作业不仅是简单地从一个目标传输到另外一个目标,而是需要组合来自多个数据源的数据,对这些数据进行处理,将这些数据映射到新的列中,并且提供各种不同的数据清洗和验证作业。SSIS设计器可以较好地完成这种复杂的ETL作业。作为图形化的工具,SSIS设计器可以用于构建、执行和调试SSIS包。2020年1月10日第20页SSIS设计器主窗口2020年1月10日第21页18.4部署包部署包有两个基本步骤,即生成集成服务项目以创建包部署实用工具,并且将在生成集成服务项目时所创建的部署文件夹复制到目标计算机,然后运行包安装向导来安装这些包。SSIS支持通过使用包配置来对包进行部署。2020年1月10日第22页18.5本章小结本章全面讲述了集成服务的内容。首先,研究了使用数据库过程中面临的问题和解决这些问题的思路,引入集成服务的意义。其次,分析了集成服务的体系架构和特点,讲述了DTP和DTR的作用。接下来,详细研究了如何创建SSIS包,并且介绍了SSIS导入/导出向导和SSIS设计器工具的使用方式。最后,介绍了如何部署和配置包2020年1月10日第23页【思考和练习】1.为什么要引入集成服务?2.简述集成服务体系架构的特点。3.什么是ETL?4.DTP的作用和结构特点是什么?5.DTR的作用和结构特点是什么?6.如何启动和使用SSIS导入/导出向导?7.SSIS导入/导出向导支持哪些类型的数据源?8.如何启动和使用SSIS设计器?9.在SSIS包中,如何定义作业的优先级?10.为什么要部署SSIS包?2020年1月10日第24页