一.数据库转换概述
在不同数据源之间转换数据时,需要考虑一下问题:
更改数据格式
数据的重构和映射
数据的一致性
验证数据的有效性
1.更改数据格式
对数据进行转换通常需要更改数据的格式,例如:将数字型转换成逻辑型数据
2.数据的重构和映射
数据的重构和映射一般涉及到将多个数据源中的数据组合成为目标数据库中的单个数据集
3.数据的一致性
当一个数据源导入数据时,应确保目标数据和源数据保持一致
4.验证数据的有效性
目标数据库保证对数据进行有效性的验证,导入过程中能够分拣出不符合要求的记录便于识别和错误处理
二.数据转换工具
SQL Server为数据转换提供了多种工具,这些工具可以根据用户的需求选择导入,导出数据的方法,包括以下需求
源数据和目标数据的格式
源数据和目标数据的位置
导入导出是一致性操作还是持续性操作
那种方式更简单
导入操作和导出操作的类型
以下提供SQL Server常用数据转换工具
1.T-QSL语句
描述:Select into;insert select
用途:从现有表中选择数据并添加到表中,select into将会创建一个新表,insert select则需要有一个现成的表
2.备份和还原:
描述:Backup;restore
用途:将一个完整的SQL Server数据库复制到另一个SQL Server中
3.分离和附加:
 描述:将数据库分离或附加到SQL Server服务器上
用途:通过复制数据文件,将一个完整的SQL Server移动或复制到另一个SQL Server
4.复制:
描述:将从源数据库中复制表框架,数据和存储过程移动到目标数据库,源数据库和目标数据库通常在不同的服务器
用途:有间隔地将数据复制到多个数据库中
5.SSIS导入和导出向导:
描述:允许用户交互式地创建由于导入,导出和数据转换的SSIS包
用途:到异种数据源之间转换数据,或是将某个SQL Server数据库中的所有对象转换到另一个SQL Server数据库中
6.SSIS设计器:
描述:允许有经验的数据库管理员导入,导出和转换数据,定义复杂数据的工作流
用途:从多个数据源中转换同种或异种数据,以及设置复杂的工作流。这是更高级的转换和传输工具
三.使用导入导出向导进行数据转换
1.导入导出概述
将介绍如何使用SSIS(SQL Server Integration Services)导入导出向导工具,使其在SQL Server与其他数据库之间进行数据转换
导入导出向导提供了一种从源向目标复制数据的做简单的方法,可以在多种常用数据格式之间转换数据,还可以创建目标数据库和插入表
可以向下列源中复制数据或从其中复制数据:SQL Server,文本文件,Access,Excel,其他OLE DB访问接口
这些数据即可用作源又可用作目标。还可将ADO.NET访问接口用作源。指定源和目标后,便可选择要导入或导出的数据。可以根据源和目标类型,设置不同的向导选项。例如:如果在SQL Server数据库之间复制数据,则指定要从中复制数据的表,或提供用来选择数据的SQL语句
四.使用BIDS设计SSIS工作流完成工作任务
1.SSIS概述:SSIS是一个数据集成转换的平台,可以进行数据提取,数据转化,数据加载(FTL)等任务,SSIS包括SSIS向导和工具,用于建立配置部署和运行SSIS包,SSIS是用来创建包的图形工具,当建立SSIS包时,需要了解下面的概念
1)包:是一个集合,其中可包括连接,控制流,数据流,事物处理程序,变量和配置,可以使用SSIS工具将这些对象组合到包中。包是最重要的integration services对象
2)控制流元素:用于在包中生成控制流
3)任务:包由一个或多个任务组成,任务是控制流元素,是包控制流中的执行工作单元。其中最主要的任务是数据流任务
4)数据流任务(源,转换和目标):用于在包中生成提取,转换和加载数据的数据流,主要解决数据转换的问题,数据流的起点是数据的源头,而终点是数据的目的地
5)连接管理器:连接到不同类型的数据源,以提取和加载数据
2.使用SSIS包向导创建包与使用BIDS创建包的主要差别在于,BIDS可以给包添加任务。任务可以给SSIS包增加灵活性
3.SSIS不仅可以做数据流,还可以做各种工作任务间的流转。例如,执行SQL语句,执行操作系统的命令,执行数据流,执行FTP等。所以使用SSIS集成各种功能形成一个可以执行的包,在实际工作中能够起到批处理的作用。但是,因为SSIS集成度很高,通过图形化的方式能够设置复杂的功能,因此SSIS的功能比批处理更加强大。