如果你曾经将数据从SQL Server中移入或者移出那么你现在就可以使用微软的DTS或者微软的数据传输服务工具来完成了DTS是一个ETL(是抽取传输和载入的缩写)的工具它可以让数据库管理员们创建一系列步骤来描述数据是如何被传输的这些包正如它们的名字是可以通过一些不同的程序语言或者直接在SQL 服务器自身运行的
这个想法一直以来都是一个不错的想法但是无论如何还是有局限的——如果使用早期版本的SQL Server的块拷贝系统的版本很方便的话它还是能够继续荣耀下去的在SQL Server上微软决定将DTS变成一种全新的ETL工具——SQL Server综合服务(SSIS)将数据从一个数据库移动到另外一个数据库上或者是以另外一种格式导出数据库是你可以使用的SSIS的最基本的用途这里是一些使用SSIS的一些其他原因
数据清洁
如果你有一个数据集是不干净的例如它没有被标准化SSIS有一系列的工具集可以用来清洁和标准化数据其中包括类似模糊匹配和分组的函数那么那些看起来是一样的数据(只是经过了不同的导入和导出)就可以被过滤掉并标准化有关这一点的一个很好的例子就是来自不同地理区域的拥有不同种类的数据:同样的想法也可以通过不同的方式来表达它们在被处理之前需要被标准化
连接到分析服务立方体上
你可以使用SSIS将数据直接通过管道连接到立方体上以便于数据挖掘除了将这些数据导入本地数据库然后在那里进行挖掘之外SSIS包自身也可以用于数据源
与SQL Server报告服务整合
对于分析立方体SSIS包还可以直接用于数据源来创建报告
完全的NET报告
这或许是假设的但是SSIS编程的确可以在本地或者通过COM对象接口在任何一种NET语言中完成——或者实际上任何支持COM对象的语言
最终的结果就是你导入数据集的系统以及你创建的包可以更加像是经过变成的对象而不是静态的数据那样工作正是这种想法它允许用户预先以报告服务的方式进行编程分析家说
服务数据和数据库自身都会彼此之间对话例如归档的遗留数据可以继续为形式分析师或者数据挖掘使用即使它们在技术上说已经是下线了另外一个例子就是数据从多个静态集合中活动的集成例如我前面的提到的那种情况来自多个地理位置的数据
因为SSIS是可编程的它的功能就可以在很大范围内被环境所调用例如一个ASPNET驱动的网站可以是运行SSIS包的管理前端或者可以是一个独立的连接到SSIS的应用程序出于自己的使用而获取并提炼数据能够程序地驱动SQL Server的想法已经出现很长一段时间了但是是SSIS使得能够与所有事物对话成为可能包括SQL Server也使用的东西——一次并且是以统一的方式一个程序员也可以创建定制的SSIS扩展例如客户数据传输或者计数器你可以在另外一个应用程序或者其他的整个环境中再次利用它们
SSIS中的包可以用商务智能设计套件(Business Intelligence Design Studio)来编写这个工具是随SQL Server发售的结果文件大多数都是XML格式所以如果需要的话它们可以被察看或者手工地修改注意SSIS中的一些功能——数据挖掘连接和模糊分组及查找这两项——都只有在企业版的SQL Server中才可以找到SSIS不是在所有的SQL Server Express Edition中都可以获得所以如果你创建了SSIS包那么你就只能在SQL Server的完全版本中使用它们最后当你使用SSIS创建程序性的解决方案的时候它们需要的确是设计用来在完全支持SSIS的其他环境中工作