关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 基础知识

    微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 基础知识

    2015-10-16 00:00:00 出处:ITJS
    分享

    SSIS 介绍

    SSIS - SQL Server Integration Services 是用于实现企业级数据集成和数据转换解决方案的平台。 使用 Integration Services 可解决复杂的业务问题,具体表现为:复制或下载文件,发送电子邮件以响应事件,更新数据仓库,清除和挖掘数据以及管理 SQL Server 对象和数据。 这些包可以独立使用,也可以与其他包一起使用以满足复杂的业务需求。Integration Services 可以提取和转换来自多种源(如 XML 数据文件、平面文件和关系数据源)的数据,然后将这些数据加载到一个或多个目标。

    Integration Services 包含一组丰富的内置任务和转换、用于构造包的工具以及用于运行和管理包的 Integration Services 服务。 可以使用 Integration Services 图形工具来创建解决方案,而无需编写一行代码;也可以对各种 Integration Services 对象模型进行编程,通过编程方式创建包并编写自定义任务以及其他包对象的代码。

    SSIS 的基本概念

    包 - Package

    包是一个有组织的集合,其中可包括连接(Connection Managers)、控制流元素(Control Flow)、数据流元素(Data Flow)、事件处理程序(Event Handlers)、变量(Variables)、参数和配置(Parameters and Configurations). 包是可被检索、执行和保存的工作单元。包可以部署到 SSIS 服务器或者文件系统执行。

    以下关系图显示了一个简单包,其中包含一个带有数据流任务的控制流,而数据流任务中又包含数据流。

    具有控制流和数据流的包

    连接管理器 - Connection Managers

    SSIS提供项目级别的连接管理器和包级别的连接管理器。

    项目级别的连接管理器可以在各个包之间共享。对于使用相同配置的连接来说,只需要在项目级别配置一次,就可以在多个包之间使用了。

    包级别的连接管理器只能在包级别使用。同一个包内部的不同的任务和数据流任务之间可以共享同一个连接。在包级别的连接管理器可以看到项目级别的连接管理器。

    控制流 - Control Flow

    控制流是一个包含各种任务(Task)的容器。这些任务之间可以通过各种优先级约束(成功,失败,完成)链接以实现顺序序执行。任务之间也可以不使用任何优先级约束,这样的任务对其他的任务没有依赖或者不被别的任务依赖,他们可以平行执行。常见的任务有Execute SQL Task和Data Flow Task。

    控制流中可以使用容器(Containers)来包含和组织任务。常见的容器有For Loop容器,Foreach容器 和 Sequence容器。

    下图包含了一个顺序执行的任务和一个与之平行任务。

    数据流 - Data Flow

    数据流是以数据为导向的数据流任务(Data Flow Task)的具体实现。数据流通常包含数据源(Source)、转换(Transform)和目的地(Destination)。在一个数据流中数据从数据源采集,经过转换(矫正、分离、合并)并最终到达目的地。虽然所有的数据都是按照这个过程(依赖于设计)处理,但是整个过程中每条数据之间是并行执行的关系。比如第一条数据已经在转换了,第二条数据才刚刚被采集到。

    下图说明了一个从不同的数据源采集数据并处理到不同的目的地的数据流。

    参数 - Parameters

    SSIS中参数分为项目(Project)参数和包(Package)参数。

    项目参数可用于向项目中的一个或多个包提供项目接收的任何外部输入。通常定义一些基本的数据,比如数据库连接字符串,服务器连接字符串。

    包参数可以用于给一个包提供接收的外部输入。通常定义一些包级别特定的数据,比如包处理的筛选条件,数据源所在的文件夹等。

    使用参数可以实现快速的执行和部署包或者整个项目。但是假如是要部署单个的包,则尽量避免使用参数而应该使用配置。

    下图列出了一些项目级别的参数。

    事件处理程序 - Event Handlers

    在运行时,可执行文件(包以及 Foreach 循环容器、For 循环容器、序列容器和任务宿主容器)会引发事件。 例如,错误发生时会引发 OnError 事件。 可以为这些事件创建自定义事件处理程序,以扩展包的功能并使包在运行时更容易管理。 事件处理程序可以执行诸如下列任务:

    当包或任务运行完成时清除临时数据存储。

    在包运行前检索系统信息,以便评估资源可用性。

    在引用表中的查找失败时刷新表中的数据。

    当发生错误或警告时,或者当任务失败时,发送电子邮件。

    假如事件没有事件处理程序,则将该事件提升到包中容器层次结构中的上一级容器。 假如此容器具有事件处理程序,则该事件处理程序当事件发生时运行。 假如没有,则将该事件提升到容器层次结构中的上一级容器。

    下图列出了所有可用的事件处理程序。

    变量 - Variables

    变量是在包内部使用的作为控制或者传递的信息。每个变量都有自己的作用域(Scope),父容器级别的变量可以被子容器使用,子容器级别的变量对父容器不可见。

    SSIS中的变量分为系统变量和用户变量。系统变量是系统内置的,对用户来说是只读的。用户定义变量由包开发人员定义,可以使用参数、配置信息、表达式和常量来赋值。通过设置用户变量的只读属性(ReadOnly)让变量不可修改。

    日志 - Loggin

    SSIS中通过配置包的日志,可以详细记录包以及内部任务的运行时信息。可以为包内的任何可执行文件()任务记录日志,日志的内容包括各种事件及时间的属性。可以为一个包定义多个日志类型。例如可以为同一个包指定Text Files和SQL Server级别的日志记录,一旦SQL Server出现问题,Text Files记录的日志可以很好的帮助我们诊断出错信息。使用SQL Server类型的日志记录会在数据库的系统表中创建一张sysssislog的表。该表记录了包执行的ID,任务的执行ID,起止时间及状态信息。

    包配置 - Package Configurations

    包配置在SSIS 2012之前的版本中非常重要,在SSIS 2012的版本中使用包级别部署的时候也非常有用(包配置可用于包部署模型。 对于项目部署模型,参数用于代替配置。)

    包配置具有下列优点:

    使用配置可以更轻松地将包从开发环境转移到生产环境中。 例如,配置可以更新源文件的路径,或者更改数据库或服务器的名称。

    将包部署到多台不同的服务器时,配置非常有用。 例如,用于每个已部署包的配置中的变量可以包含不同的磁盘空间,并且假如可用磁盘空间不满足此值,包将不会运行。

    配置可以使包更加灵活。 例如,配置可以更新在属性表达式中使用的变量的值。

    Integration Services 支持几种不同的存储包配置(例如 XML 文件、SQL Server 数据库中的表以及环境变量和包变量)的方法。

    每个配置都是一个属性/值对。 XML 配置文件和 SQL Server 配置类型可以包括多个配置。

    在创建用于安装包的包部署实用工具时将会包括这些配置。 在安装包时,可以在安装包的过程中更新配置。

    Integration Services 提供了直接配置和间接配置。 假如直接指定配置,Integration Services 会在配置项和包对象属性之间创建直接链接。 假如源的位置不更改,则直接配置是较好的选择。 间接配置使用环境变量。 配置不直接指定配置设置,而是指向环境变量,环境变量又包含配置值。 假如对于包的每个部署,配置的位置都可以更改,则使用间接配置是较好的选择。例如,在数据库中直接指定包级别的配置,而在环境变量中(或者XML、参数)中简介指定包级别配置所在的数据库。SSIS在执行时,首先加载环境变量(直接配置),通过直接配置找到包级别的配置信息(间接配置)并加载运行。

    包浏览器 - Package Explorer

    包浏览器包含了整个包里面的所有内容,并且以折叠数的方式展现,通过包浏览器可以快速的找到并定位包级别的任何元素(可执行文件、条件表达式、参数、事件处理程序、变量、连接管理器以及日志)。

    总结

    该篇讲述了微软SSIS的基本概念,希望能够帮助初学SSIS的开发者更好的理解SSIS。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。