第一篇 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。

时间: 2024-10-13 21:52:26

第一篇 Integration Services:SSIS是什么的相关文章

SQL Server 2005 Integration Services (SSIS)数据源之MySQL

一安装MySQL数据库的ODBC驱动 下载MySQL Connector ODBC 3.51.rar 单击setup按默认安装即可! 如下图所示,在ODBC数据源管理器中看到"MySQL ODBC 3.51 Driver"即表示安装成功! 当然看不到,那么你就要重新安装了!当然还有不同的版本! 二建立MySQL的ODBC数据源 如下图所示: 特别提醒: 一定要在Connect Options选项栏中设置字符集,否则导入到SQL Server2005中会出现乱码! 我分别测试了以下三种均

第十五篇 Integration Services:SSIS参数

本篇文章是Integration Services系列的第十五篇,详细内容请参考原文. 简介在前一篇,我们使用SSDT-BI将第一个SSIS项目My_First_SSIS_Project升级/转换到SSIS 2012.在这一篇,我们将探讨SSIS变量的姊妹:SSIS参数.我们将展示参数配置,通过包参数管理动态属性值,以及在SSIS包执行期间参数是如何配置和使用的.首先在SSDT-BI打开转换过的My_First_SSIS_Project,如图15.1所示:图15.1My_First_SSIS_P

第十三篇 Integration Services:SSIS变量

本篇文章是Integration Services系列的第十三篇,详细内容请参考原文. 简介在前一篇我们结合了之前所学的冒泡.日志记录.父子模式创建一个自定义的SSIS包日志记录模式.在这一篇,我们将升级我们的解决方案为SQL Server 2012 Integration Services,演示SSIS变量,变量配置和表达式管理动态值.在前面的练习中我们已经使用过变量,但我们没有深入学习,这一篇,我们将关注SSIS变量.…………一旦安装好,你可以设置主题颜色,工具->选项->环境->常

第九篇 Integration Services:控制流任务错误

本篇文章是Integration Services系列的第九篇,详细内容请参考原文. 简介在前面三篇文章,我们创建了一个新的SSIS包,学习了脚本任务和优先约束,并检查包的MaxConcurrentExecutables属性.我们检查.演示并测试优先约束赋值为"成功"."完成"."失败"时对工作流的影响.我们学习了SSIS变量和表达式,并将它们应用到优先约束.这一篇,we introduce fault tolerance by examinin

第七篇 Integration Services:中级工作流管理

本篇文章是Integration Services系列的第七篇,详细内容请参考原文. 简介在上一篇文章,我们创建了一个新的SSIS包,学习了SSIS中的脚本任务和优先约束,并检查包的MaxConcurrentExecutables属性.这一篇我们将检查.演示并测试优先约束赋值为"成功"."完成"."失败"时对工作流的影响.约束赋值如果你按照前一篇的步骤操作过,打开My_First_SSIS_Project解决方案下的Precedence.dtsx

第十四篇 Integration Services:项目转换

本篇文章是Integration Services系列的第十四篇,详细内容请参考原文. 简介在前一篇,我们查看了SSIS变量,变量配置和表达式管理动态值.在这一篇,我们使用SQL Server数据商业智能工具(SSDT-BI)或Visual Studio 2012将我们的第一个SSIS项目转换为SSIS 2012.为什么你想升级我们的SSIS项目到2012?你可能想使用SSIS 2012中的新特性.你可能还希望利用SSIS 2012目录.要使用目录,你的项目必须遵循项目部署模型,我们也将在这篇文

第八篇 Integration Services:高级工作流管理

本篇文章是Integration Services系列的第八篇,详细内容请参考原文. 简介在前面两篇文章,我们创建了一个新的SSIS包,学习了SSIS中的脚本任务和优先约束,并检查包的MaxConcurrentExecutables属性.我们检查.演示并测试优先约束赋值为"成功"."完成"."失败"时对工作流的影响.在这一篇,我们继续深入SSIS工作流管理——学习SSIS变量和优先约束表达式.关于变量打开Precedence.dtsx包.点击BI

第十一篇 Integration Services:日志记录

本篇文章是Integration Services系列的第十一篇,详细内容请参考原文. 简介在前一篇,我们讨论了事件行为.我们分享了操纵事件冒泡默认行为的方法,介绍了父子模式.在这一篇,我们会配置SSIS内置日志记录.我们会演示简单和高级日志配置,保存和查看日志配置,生成自定义日志消息.SSIS任务事件打开Precedence.dtsx包.你的控制流面板应该如图11.1所示:图11.1在第九篇和第十篇,我们关注在序列容器1.我们在Script Task 4和序列容器1上创建了OnError事件处

第六篇 Integration Services:初级工作流管理

本篇文章是Integration Services系列的第六篇,详细内容请参考原文. 简介在前几篇文章中,我们关注使用增量加载方式加载数据.在本篇文章,我们将关注使用优先约束管理SSIS控制流中的工作流.你将添加一个新SSIS包到已存在的解决方案.添加SSIS包SSIS控制流包含任务.容器和优先约束.在SSIS控制流中任务和容器是可执行对象,优先约束用于控制任务和容器何时/是否执行.为了操作控制流,打开叫做My_First_SSIS_Project解决方案.打开后在解决方案资源管理器右击SSIS