祁清华 微软金牌讲师 微软金话筒
本人一个IT屌丝男,一直在ITPRO的圈子里面混着,从来不是一个程序猿,水平就是开开关关windows的水平。昏昏然,成了一个油腻的大叔,但我的内心和业务水平还是停留在26岁啊! 周围的同事好友一个个都一日千里的学习进步着,实在看不下去自己了,决定整理整理,给自己,给儿子摆一个努力学习的POSE出来。
我曾经写过三篇跟我从头学系列,分别是《跟我从头学vbs》,《跟我从头学wmi》和《跟我从头学Powershell》,这两篇,就暂时定名为《跟我从头学SQL SSIS》和《跟我从头学SQL Reporting Service》。
我不是程序猿,所以,这里的文章实际上写给和我一样的系统管理员看的,使得在管理数据库的时候,大致可以看出SQL在干什么,能更好的理解和管理。艰涩的东西一概不会、不懂、不知道。
学习笔记1:从最简单的导入导出向导开始
什么是SQL Server Integration Services
SQL SSIS目的
ETL (extract, transform, and load): ETL代表提取,转换和加载。 收集和清理来自不同来源的数据并将数据加载到数据仓库等目的地往往是一个复杂的过程。为了支持这些操作,Integration Services使用控制流引擎来管理工作流和数据流引擎来管理数据流管道。
常见用途:
- 导入和导出数据
- 集成来自Oracle和旧数据库以及分支机构的数据。
- 清理和标准化数据
- 支持BI的解决方案
SSIS的开发工具
- 包含在SQL Server Data Tools中,
- 是基于Microsoft Visual Studio
- 常用于特定于商业智能的项目类型
- 用于开发Analysis Services,Reporting Services和Integration Services等应用
- 包括工具,向导和模板
Intelligence Studio designer中的五个标签
- Control Flow:控制流
- Data Flow:数据流
- Event Handlers:事件处理程序
- Package explore: 包浏览
- Progress/Execution Results:执行结果
SQL Server Management Studio如何提供集中式环境来管理和运行Integration Services包。
可以在以下存储类型之间导入和导出包:
- 文件系统文件夹中的任何地方
- SSIS包存储中的文件夹。两个默认文件夹被命名为文件系统和MSDB。
- SQL Server msdb数据库。
SSIS常见的向导程序:
SSIS最为常见的三个向导程序分别为:
SQL ServerImport and Export Wizard:”SQL Serve导入和导出向导”可以将数据复制到.NET Framework或本机OLE DB数据提供程序可用的任何数据源。除SQL Server之外,导入和导出向导还可以从Microsoft Access,Microsoft Excel,Oracle数据库和文本文件等导入数据。
PackageConfiguration Wizard:程序包配置向导会指导您执行创建配置的步骤,以便在运行时更新程序包和程序包对象的属性值。当你添加一个新的配置或者在Package Configurations Organizer对话框中修改一个现有的配置时,这个向导就会运行。
PackageInstallation Wizard:指导您完成部署程序包和更新程序包配置的过程
命令行工具:
SSIS常见的命令行工具包括:
- DTExec utility:运行现有的程序包
- DTUTILutility: 管理现有的软件包
使用导入导出向导开始
1. 使用导入导出向导
使用SQL Server Import and Export向导导出currency data
运行导出向导
选择数据源和数据库:
点击Parse语法检查,确定语法正确,如下图:
选定目的文件为一个txt文件,点击“Edit mapping”,可见数据库表的列和文本文件列的对应关系。
在Save and Run Package中,选择“Save SSIS package”,并且设定package的保护机制级别:
2. 运行Integration Services Package
链接到Integration Services,在链接中选择链接到integration service,即可运行这个由向导确定的的数据导出操作。
在Stored Packages的MSDB节点下,可以看见刚才生成的SSIS包,在包上点击右键,选择Run Pakcage
运行Execute Package Utility
3. 导入数据
导入数据的操作和导出数据大同小异,下面的截图,显示的是将一个文本文件导入到数据库中,生成一张新表,在这个示例中,是立即执行,没有生成ssis包
- 使用import data using the import and export wizard
编辑一个dts包
在data tools中编辑的ssis项目,生成的工程文件为dtsx结尾的文件,我们可以通过右键再次在data tools中的visual studio将其打开:
然后对其进行编辑,在这里我们打开的是前面导入导出操作中生成的dtsx包,然后修改数据流任务:
用新的select语句替换掉以前的select 语句。
编辑完成后,将其另存为另一个dtsx包,ContactExport.dtsx
接下来,使用DTUTIL工具导入包。
再次去打开msdb节点,我们发现了用dtutil导出的包,然后依照前文所说的方法运行包,可以观察生成新的文本文件的导出。
好了,至此,我们学习了如何用导入导出操作,怎么生成和修改ssis包,怎么运行包,怎么用dtutil来导出dtsx文件到sql ssis 服务。