SSIS 学习(1) 概要 (转自游子吟)
2010-11-17 16:51 假面Wilson 阅读(1026) 评论(0) 编辑 收藏 举报俗话说:“十年磨一剑”,Microsoft 通过5年时间的精心打造,于2005年浓重推出Sql Server 2005,这是自SQL Server 2000 以后的又一旷世之作。这套企业级的数据库解决方案,主要包含了以下几个方面:数据库引擎服务、数据挖掘、Analysis Services、Integration Services、Reporting Services 这几个方面,其中Integration Services (即SSIS),就是他们之间的中转站、纽带,将各种源头的数据,经ETL到数据仓库,建立多维数据集,然后进行分析、挖掘并将结果通过Reporting Services 送达给企业各级用户,为企业的规划决策、监督执行保驾护航。
SSIS 其全称是Sql Server Integration Services ,是Microsoft BI 解决方案的一大利器,是Sql Server 2000中DTS 一个升级之作。 无论是功能上,性能上,还是可操作方面都有很大的改进。且看下面的操作界面就可见一斑。
SQL Server 2000 DTS
Sql Server 2008 SSIS
现在很多人都把SSIS 说成是一个ETL (Extract-Transform-Load)工具,我个人觉得不太准确,或许是大家基本上都把他做为ETL 使用,其实SSIS已经超越了ETL的功能,ETL 仅是其中之一,它在其它方面也有非常突出的表现:
(1) 系统维护:
a) 在数据库维护方面:
i. 数据库备份;
ii. 统计信息更新;
iii. 数据库完整性检查;
iv. 索引重建
v. SSIS 包执行;
vi. SSAS 任务处理。
b) 业务处理:
i. 执行SQL 任务。
ii. Web Service 任务。
c) 操作系统维护:
i. WMI事件观察器任务
ii. 文件系统任务。
d) 其它:
i. 执行SQL 任务
ii. 执行进程任务
iii. ActiveX 脚本任务
iv. 脚本任务(VB/C#).
v. 执行Web Service 服务
尤其是上面的第四点,可以执行SQL 任务,可以执行Web Service 服务,可以执行系统进程,可以执行(VB/C#)脚本任务,这给了我们多大想象的空间,还有什么例外的?强啊。不得不佩服务一下。
SSIS 的体系结构主要由四部分组成:Integration Services 服务、Integration Services 对象模型、Integration Services 运行时和运行时可执行文件以及封装数据流引擎和数据流组件的数据流任务(如图):
这是我们初学者必须要了解的,只要明白了这个体系统结构,体会了各组成部分之间的关系,清楚了什么是控制流、什么是数据流,SSIS学起来就不难了。
总之,SSIS 并不简单的是DTS 的一个升级版,除了上面所说的几个方面的改进外,在开发环境方面,Microsoft 还一如继往地发挥着他的优势,与Visual Studio 紧密集成,让开发人员可以在一个更加熟悉,更加方便的平台上设计、开发,大大降低了入门的门槛,加速了学习、开发的进度。它的组成元素也更加对象化,每一个包、每一个任务、每个一控制流、每一个数据流,都是一个独立的对象,有其对应的属性、对应的事件。VB/C# 的脚本任务;变量、属性的参数化,更是让人震撼,几乎是无所不能,无所不可似的(有些夸张了,我不是托,只是感觉比以前强大太多了)。使用起来也并不复杂,只要你安装了SQL Server Integration Services 10.0 服务(SQL 2005 应该是Integration Services 9.0),New project ,选择Integration Services 项目,就可以一睹芳容,亲密感受他的博大与精深了。