微软SQL Server集成服务的基础知识

这两个名字都很直观地反映各自组件的作用:将数据从一个位置复制到另一个位置,整合不同系统的信息,同时重新格式化数据。下面开始介绍Microsoft SSIS基础知识。

假设有一个简单的场景:您有一个记录客户订单的数据库。每天,您都需要定期提取一些订单,将信息发送给符合订单要求的供应商,然后他们会代表您将产品发送给客户。但是,每一个供应商都要求使用不同的数据查看格式。而SSIS正好能够解决这个问题。

Microsoft SSIS教程:合并系统

另一个例子是,您可能收购了一个本身拥有自己数据系统的公司。很快,您的两家公司会继续使用各自的系统进行独立运营,但是您希望最终将所有数据合并到一个系统中。这两个系统是完全不同的:例如,您的系统使用了一些缩略语,如美国州名缩写CA和NV,而另一个公司则使用全称。它有一个“Customer Name”域;您还要将它分成“First Name”和“Last Name”。似乎整合这两个系统需要执行大量的手工操作?不用——SSIS就可以了。

SSIS使用图形化拖放式工作空间,能够简单实现这种整合。如果曾经在Microsoft Visio中创建过流程图,那么您对SSIS会很熟悉。您通常可以拖放一个表示数据源的对象。然后,您再添加各种“转换”步骤,其中每一步都会执行一些任务,将原始数据转换为目标格式。这其中包括查找值,如将全名输入为姓和名;并修改字符集。每一个步骤通常都以数据连接结束,它代表您的目标系统。图1显示的是一个简单的SSIS包。

微软SQL Server集成服务的基础知识

▲图1:一个包含有图形化包工作流描述的SSIS包

SSIS包一开始可能很简单,但是它们也会变得非常复杂,可能会包括一些分支逻辑、并行执行等。在完成之后,它们会被封装到一个包中,这个包可以独立执行,也可以通过SQL Server Agent调度为定期执行。您可以从简单的拖放式工作空间切换为编程模式,编辑一些自定义任务,解决一些较难或复杂的转换。

数据源可以包括一些真实的数据库,如Oracle、SQL Server和Access,或者基于文件的数据,如CSV文件和Excel电子表格。SSIS非常复杂,所以无法用简单的文字介绍清楚——您可以在您常用的在线书店搜索“SSIS”,里面会有大量的相关书籍。

SSIS较为低调;就是说,每一个SQL Server新版本都会增加新功能,但是它不会进行高调的市场宣传。如果阅读一本关于Microsoft SSIS基础知识的书籍,那么一定要仔细注意书籍所对应的SQL Server版本。您应该认真阅读“关于新特性”的清单和文章,因为SQL Server服务包都可能给SSIS增加一些重要的新功能。

过去必须进行复杂自定义编程才能完成的任务,现在通常都可以像创建Visio图表一样简单地实现。这不是说每个人都能够做这些事情——毕竟,Visio图表本身并不简单,但是SSIS中少量的操作就能够满足您复杂的数据整合需求。