【译】第一篇 Integration Services:SSIS是什么
本篇文章是Integration Services系列的第一篇,详细内容请参考原文。
Integration Services是一种在SQL Server中最受欢迎的子系统。允许你在各种数据源之间提取、转换和加载(ETL)数据,以任何你能想到的编程方式更改数据。
你可以用SSIS做下面操作:
->执行ETL(提取、转换、加载)操作
->传输数据
->复制数据库对象
->执行FTP操作
->处理文件
"我之前从来没用过SSIS…"
你确定你从来没有使用过?是否对下面界面感到熟悉
图1.1 SQL Server导入和导出向导
这是来自SQL Server导入和导出向导的截图。如果你使用此向导,你就是使用SSIS。一个选项是“保存SSIS包”复选框。默认情况下是没有勾选的,大多数人会轻易的点击下一步。但是如果你勾选保存SSIS包,你可以在以后来查看。
这个界面怎样?
图1.2 维护计划任务
这是SSMS的维护计划设计器。猜出什么了吗?维护计划也是SSIS包。你可以用SSIS做很多事,但是首先学习下简短的历史。
SSIS仅仅是DTS 2.0?
SSIS不是数据转换服务(DTS)的新版本。它是DTS的一个替换,它是一个全新的应用程序——新建立,而不是移植或迁移。这意味着升级DTS包到SSIS比看起来要难。
SSIS是什么
SSIS是用于执行数据集成,协助数据库管理,并促进商业智能。数据集成主要包括从A点到B点的移动数据,或者从某些来源到某些目标。源和目标可以是数据库,也可以不是数据库。SSIS可以连接许多数据源和数据目标:
->OLE DB
->ADO
->ADO.Net
->Excel
->Flat File
除了内置连接,SSIS还允许开发者创建自定义连接管理器
数据库管理
有时你只需要传输数据。导入和导出向导可以在Excel和SQL Server数据表,平面文件和ODBC连接之间迁移数据。它允许数据传输指定表复制或查询,给DBA提供了合并或转换数据的扩展能力。
一个很好的例子是创建或刷新一个测试数据库。生产数据经常用来验证变化。SQL Server导入和导出向导使用SSIS将数据从源移动到目标。
商业智能
在商业智能(BI)数据集成工具的主要用途是提取、转换和加载(ETL)操作。SSIS是用来执行ETL。SSIS的核心是数据流任务,它的设计理念形象地描述为"流水线结构",数据流任务是一个强大的且灵活的数据泵。
SSIS lends itself to design patterns. One popular design pattern for SSIS loads is the Incremental Load, where only new or updated data is moved from the source to the destination table.
在SSIS数据流中,可以用下面模式实现:
图1.3 SSIS加载设计模式
职责分离
不同于数据转换服务(DTS)和其他数据集成产品,SSIS分离工作流和数据流操作。控制流以一种同步的方式管理工作流,在移动到下一步之前按顺序完成每个任务:
图1.4 SSIS控制流
并发是通过在控制流创建多个执行路径完成的。数据流获取、转换,然后加载数据"块",一个时间一个缓冲区。在数据流操作期间的任何时间,可以有行不读入数据流管道,行被数据流组件转化、处理并加载到目标:
图1.5 SSIS数据流
创建Integration Services 项目
点击开始->所有程序->Microsoft SQL Server 2008 R2->SQL Server Business Intelligence Development Studio
图1.6 打开Business Intelligence Development Studio
BIDS是Microsoft Visual Studio的一个版本,是微软的集成开发环境(IDE)。许多开发平台和语言共享Visual Studio IDE。例如包括Microsoft Visual C#和Microsoft Visual Basic。
一旦打开BIDS,通过文件->新建->项目,创建一个SSIS项目
当新建项目对话框打开,在左上角的项目类型选择"商业智能项目"。正如前面提到,VS/BIDS支持多种语言和开发平台。项目类型包含已经安装的语言和平台列表。如果你安装了其他的平台和语言,他们会添加到这个列表中。
一旦你选择一个项目类型,可用的项目类型模板会出现在模板列表。选择"Integration Services 项目"
在新建项目对话框的下半部分,名称键入"My_First_SSIS_Project"。你可以接受默认的文件存放位置,或者点击浏览选择另一个路径存放SSIS项目。
图1.7 新建项目
当你键入项目名称后,解决方案名称复制了项目名称。你可以修改解决方案名称为不同的名称。一旦你键入解决方案名称,项目名称和解决方案名称之间的"链接"就被切断。
"创建解决方案的目录"复选框,在项目文件夹上添加一个文件夹,包含Visual Studio artifacts related to the Visual Studio solution,解决方案文件,包含有关解决方案中的项目信息。
如果你有安装和配置一个源控制(或版本控制)客户端,你可以选择将解决方案添加到源代码控制当你创建它通过选中“添加到源代码管理”复选框。
当你点击确定,包含My_First_SSIS_Project项目的解决方案就会被创建。
总结
在这一篇我们介绍了SSIS,并概述其体系结构。在之后的文章中,我们将深入学习SSIS。
【译】第一篇 Integration Services:SSIS是什么的更多相关文章
- 第一篇 Integration Services:SSIS是什么
本篇文章是Integration Services系列的第一篇,详细内容请参考原文. Integration Services是一种在SQL Server中最受欢迎的子系统.允许你在各种数据源之间提取 ...
- [译]Stairway to Integration Services Level 13 - SSIS 变量回顾
介绍 在前一篇中我们组合了已经学过的事件冒泡 event bubbling, 日志记录 logging, 和父子模型 Parent-Child pattern 建立了自定义的SSIS包日志记录. 本文 ...
- [译]Stairway to Integration Services Level 15 – SSIS 参数回顾
介绍 在本文中我们会研究SSIS变量姐妹: SSIS 变量. 我们会演示参数配置,通过包参数管理动态属性值,然后会演示SSIS包执行的时候参数怎么被配置的. SSIS Parameters 101 S ...
- [译]Stairway to Integration Services Level 8 - SSIS 工作流管理高级
介绍 在前两个章节我们,建立了一个新的SSIS包,简单的使用了一下scripting还有优先约束,并且测试了MaxConcurrentExecutables 属性. 同时实验了 “On Succe ...
- [译]Stairway to Integration Services Level 7 - SSIS 工作流管理中级
介绍 前一个章节我们对SSIS的优先约束做了初步了解,并且实验了MaxConcurrentExecutables 包属性的设置. 本文将测试“On Success”, “On Completion”, ...
- [译]Stairway to Integration Services Level 6 - SSIS 工作流管理基础
简介 在之前的章节中,我们学习了增量载入数据. 本文中.我们通过优先约束(Precedence Constraints)来管理SSIS的工作流. 添加一个SSIS包 图 1 将新建的Package1. ...
- [译]Stairway to Integration Services Level 16 – Flexible Source Locations (多文件导入)
介绍 在本文中我们将利用SSIS参数,变量 以及 Foreach Loop Container 从多个源动态导入数据. 开始前我们先下载一些数据.WeatherData_Dec08_Apr09.zip ...
- [译]Stairway to Integration Services Level 12 - 高级日志配置
介绍 本文中,我们将结合之前学习的时间冒泡,日志记录,以及复制模型.建立一个自定义的SSIS包日志模型. SSIS Task事件回顾 Reviewing SSIS Task Events 在做实 ...
- [译]Stairway to Integration Services Level 3 - 增量导入数据
让我们打开之前的项目:My_First_SSIS_Project_After_Step_2.zip 之前项目中我们已经向dbo.contact 导入了19972行,如果再次执行包会重复导入,让我们来解 ...
随机推荐
- Java override 和 overload 的区别和联系
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现.重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多 ...
- git工具的使用总结
Git的使用 进入一个新的公司或者参入一个新的项目后,可能的第一步就是获取代码仓库的代码.公司内部一般放到代码仓库(下面主要以gitHub.Windows平台为例)的代码都经过加密认证的. 如何将Gi ...
- BZOJ3173 TJOI2013最长上升子序列(splay)
容易发现如果求出最后的序列,只要算一下LIS就好了.序列用平衡树随便搞一下,这里种一棵splay. #include<iostream> #include<cstdio> #i ...
- P2144 [FJOI2007]轮状病毒
题目描述 轮状病毒有很多变种.许多轮状病毒都是由一个轮状基产生.一个n轮状基由圆环上n个不同的基原子和圆心的一个核原子构成.2个原子之间的边表示这2个原子之间的信息通道,如图1. n轮状病毒的产生规律 ...
- VDOM configuration
VDOM configuration 来源 https://cookbook.fortinet.com/vdom-configuration/ Posted on January 6, 2015 by ...
- 【刷题】BZOJ 3551 [ONTAK2010]Peaks加强版
Description [题目描述]同3545 Input 第一行三个数N,M,Q. 第二行N个数,第i个数为h_i 接下来M行,每行3个数a b c,表示从a到b有一条困难值为c的双向路径. 接下来 ...
- 【2018ICPC沈阳】
哈密顿距离转切比雪夫距离,多种颜色跟两种颜色没有区别,记录最大最小次大次小即可. 圆求交点.
- 【BZOJ1011】遥远的行星(???)
题面 BZOJ 洛谷 题解 大概就是分个块,然后每块取平均数算贡献啥的. BZOJ上过不去??? #include<iostream> #include<cstdio> usi ...
- Libssh认证绕过CVE-2018-10933漏洞复现
0x00 漏洞描述 libssh 0.6 及以上的版本,在服务端的代码实现中存在身份认证绕过漏洞.在向服务端认证的流程中,攻击者通过将 SSH2_MSG_USERAUTH_REQUEST 消息替换为 ...
- 安装Xtrabackup,设置定时备份msyql数据库
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. XtraDB 存储引擎是由Perco ...