数据转换服务基本概念

   在使用SQL Server 的过程,中由于经常需要从多个不同地点将数据集中起来或向多个地点复制数据,所以数据的导出,导入是极为常见的操作.我们可以使用BCP 命令来完成这一任务,但是记住 BCP 的命令格式是一件令人头痛的苦差事,虽然你可以查看帮助文件,所以我们需要功能强大操作简单的工具来完成这一任务,数据转换服务DTS 提供了这种支持。因此本章将介绍DTS 的基本情况、讨论DTS 的各个构建组件以及如何完成数据转换服务。

18.1.1 数据转换服务简介
    为了支持企业决策,许多组织都需将数据集中起来进行分析。但是通常数据总是以不同的格式存储在不同的地方。有的可能是文本文件,有的虽然具有表结构但不属于同一种数据源,这些情况极大地妨碍数据的集中处理。SQL Server 为我们提供了令人欣慰的组件,即Data Transformation Services( DTS)。 DTS 本身包含多个工具并提供了接口来实现在任何支持OLE DB 的数据源间导入、导出或传递数据,并使这一工作变得简单高效。这意味着不仅可以在SQL Server 数据源间进行数据的转储,而且可以把Sybase, Oracle, Informix 下的数据传递到SQL Server。
    利用Data Transformation Services (DTS) 可能在任何OLE DB、 ODBC 驱动程序的数据源或文本文和SQL Server 之间导入、导出或传递数据。具体表现在:

  • 数据的导入、导出服务
    通过读写数据在不同应用程序间交换数据。例如,可将文本文件或Microsoft Access 数据库导入到SQL Server, 也可以把数据从SQL Server 导出到任何OLE DB 数据源。
  • 转换数据
    所谓传递是指在数据未到达目标数据源前而对数据采取的系列操作。比如DTS 允许从源数据源的一列或多列计算出新的列值,然后将其存储在目标数据库中。
  • 传递数据库对象
    在异构数据源情况下DTS, 的内置工具只能在数据源间传递表定义和数据。如果要传递其它数据库对象,如索引、约束、视图时,必须定义一个任务,从而在目标数据库上执行那些包含在任务中的SQL 语句,SQL 语句是被用来创建这些数据库对象的。

18.1.2 DTS 结构
DTS 将数据导入、导出或传递定义成可存储的对象,即包裹或称为包。每一个包都是包括一个或具有一定顺序的多个任务的工作流。每个任务可以将数据从某一数据源拷贝至目标数据源或使用Active 脚本转换数据或执行SQL 语句或运行外部程序。也可以在SQL Server 数据源间传递数据库对象。
    包对象用来创建并存储步骤,这些步骤定义了一系列任务执行的顺序以及执行任务的必要细节。包对象中还包括源列、目标列以及有关在数据传递过程中如何操纵数据的信息。
    包可以存储在DTS COM 结构的存储文件中、msdb 数据库中、或Microsoft Repository 中。
    可以通过以下工具来运行包,它们是:dtsrun 工具,DTS Designer, DTS 的导入、导出向导,SQL Server Agent 来运行规划作业,使用Execute 方法调用DTS 包对象的COM应用程序。
    包是顶层对象,它包含三种底层对象:连接、任务、步骤。

1 连接
连接定义了有关源和目标数据(数据源或文件)的信息这些信息包括数据格式和位置,以及安全认证的密码。DTS 包可不包含或包含多个连接。使用连接的任务有:

  • DTS Data Pump 任务
  • 执行SQL 任务
  • 数据驱动查询任务
  • 定制任务
    有三种类型的连接对象
  • 数据源连接
    数据源连接定义了有关源和目标OLE DB 数据源的信息。这些信息包括服务器名称、数据格式和位置,以及安全认证的密码。第一个使用连接的任务负责创建该连接。如果使用ODBC 的OLE DB 提供者,则连接也可以定义ODBC 数据源信息。
  • 文件连接
    文件连接定义了有关源和目标文件的信息。这些信息包括文件格式和位置。
  • Microsoft 数据连接对象
    Microsoft 数据连接对象或者加载数据连接文件(*.udl) 或者为OLE DB 提供者设置数据连接文件的属性。

2 任务
每个DTS 包都含有一个或多个任务,每个任务都是数据转换(传递)处理的工作项目。任务的种类包括:

  • 执行SQL 任务:即执行SQL 语句;
  • Data Pump 任务该任务:为Data Pump 操作定义了源和目标数据源以及数据转换。Data Pump 从源和目标OLE DB 数据源间拷贝并转换数据;
  • ActiveX 脚本执行:ActiveX, VB, Jscript 或Perscript 脚本。凡是脚本支持的操作都可以执行;
  • 执行处理任务(Execute Process task): 指执行外部程序;
  • 批量插入指执行:SQL Server 批拷贝操作;
  • 发送邮件:使用SQL Mail 发送寻呼或邮件;
  • 数据驱动查询:执行OLE DB 数据源间的高级数据传递;
  • 转换SQL Server 对象:即从SQL Server OLE DB 数据源向另外的同类数据源复制对象,例如表、索引、视图。

3 步骤
    步骤对象定义了任务执行的顺序,以及某一任务的执行是否依赖于前一个任务的结果。如果某一任务不与步骤对象相关联,则其将无法被执行。可以为某一步骤设定运行条件,使其只在一定条件才被执行,为了提高执行的性能,也可以并行执行多个步骤。

    步骤的一个重要特性是步骤优先权约束。步骤优先权约束定义了前一步必须满足哪些条件之后才会执行当前步骤,通过步骤优先权约束可以控制任务的执行顺序。有三种类型的优先权约束:

  • 完成:表示前一步骤完成后就执行当前步骤,而不管其成功与否;
  • 成功:表示前一步骤只有成功执行才执行当前步骤;
  • 失败:表示前一步骤执行失败时才执行当前步骤。

     某一步骤可有多个优先权约束,只有前一步满足所有的约束后,才能执行当前步骤。

时间: 2024-09-13 16:58:41

数据转换服务基本概念的相关文章

MS SQL基础教程:数据转换服务基本概念

在使用SQL Server 的过程,中由于经常需要从多个不同地点将数据集中起来或向多个地点复制数据,所以数据的导出,导入是极为常见的操作.我们可以使用BCP 命令来完成这一任务,但是记住 BCP 的命令格式是一件令人头痛的苦差事,虽然你可以查看帮助文件,所以我们需要功能强大操作简单的工具来完成这一任务,数据转换服务DTS 提供了这种支持.因此本章将介绍DTS 的基本情况.讨论DTS 的各个构建组件以及如何完成数据转换服务. 18.1.1 数据转换服务简介 为了支持企业决策,许多组织都需将数据集中

SQL Server数据转换服务小妙招

以下的文章主要是介绍SQL Server数据转换服务的4妙用之执行一些自动化的操作.在SQL Server数据库的实际操作管理中,数据库管理员所希望的是数据库能够自动收集信息并将信息发送到用户指定的地点如邮件等等. 在数据转换任务中,就提供了一系列类似的工具,来简化数据库管理员的工作.如在DTS组套种,有一个发送邮件的工具.通过相关的设置,数据库会在包成功或者失败的时候自动发送一个电子邮件给数据库管理员,以提醒他作业是成功还是失败.并且会附上比较详细的信息,以便于数据库管理员进行后续的操作. 数

SQL Server 2005 数据转换服务的常见设计问题

server|设计|数据|问题|转换 本文回答了有关 SQL Server 2005 中的数据转换服务的某些常见问题,特别回答了某些设计问题,这是关于"为什么"而不是关于"如何"的常见问题. 点击此处阅读全文

SQL Server 2005 数据转换服务中的模糊查找和模糊分组

server|分组|数据|转换 本文描述了 SQL Server 2005 数据转换服务 (Data Transformation Services,DTS) 中的模糊查找转换和模糊分组转换.模糊分组转换对于在目标数据库提高数据质量很有作用. 点击此处阅读全文

使用SQL Server数据转换服务升迁Access数据库

开发者常常以Access作为原型或者用Access来开发不是很关键的应用程序.但是,随着公司业务的增长,要解决的问题会变得越来越复杂,Access环境可能无法满足需要.目前,Access 2002的.mdb和.adp文件都将一个数据库的长度限制在2 GB以内.这意味着几乎每个Access和SQL Server开发者最终都要将一个Access数据库升迁成一个SQL Server数据库. 由于升迁已成为极为常见的一个任务,所以Access配套提供了一个"升迁向导".它虽然能完成这个工作,但

SQL Server 2000中的数据转换服务 (DTS)

server|数据|转换 摘要: 为了完成数据合并.存档和分析等任务:为了进行应用程序开发:为了进行数据库或服务器升级,数据库管理员经常需要导入.导出以及转换数据.SQL Server 2000 中的数据转换服务(DTS)为此提供了一组图形化工具和可编程对象,能够帮助管理员和开发人员解决从不同来源到单个或多个目标的数据转移问题,包括数据提取.转换以及合并.您可以将任务.工作流操作和限制条件组成 DTS数据包,然后安排定期或在特定事件发生时执行该数据包.本白皮书将介绍 DTS,给出一些能够用于创建

SQL Server 2000的数据转换服务(下)

server|数据|转换 Microsoft SQL Server 2000的数据转换服务(下) 数据泵:转换数据 DTS 数据泵是一个 DTS对象,它驱动数据的导入.导出和转换操作. 在执行数据转换.数据驱动查询和并行数据泵任务期间将使用数据泵.执 行这些任务的过程是:在源和目标连接上创建行集合,然后创建数据泵实 例在源和目标间移动这些行.在复制每一行时,将进行转换操作. 下图中,在第二个步骤中,转换数据任务在 Access DB任务和 SQL Production DB任务之间进行.转换数据

如何使用SQL Server数据转换服务升迁Access数据库

本文详细介绍了如何使用SQL Server数据转换服务升迁Access数据库 开发者常常以Access作为原型或者用Access来开发不是很关键的应用程序.但是,随着公司业务的增长,要解决的问题会变得越来越复杂,Access环境可能无法满足需要.目前,Access 2002的.mdb和.adp文件都将一个数据库的长度限制在2 GB以内.这意味着几乎每个Access和SQL Server开发者最终都要将一个Access数据库升迁成一个SQL Server数据库. 由于升迁已成为极为常见的一个任务,

DTS构建组件及其如何完成数据转换服务

在使用SQL Server 的过程,中由于经常需要从多个不同地点将数据集中起来或向多个地点复制数据,所以数据的导出,导入是极为常见的操作.我们可以使用BCP 命令来完成这一任务,但是记住 BCP 的命令格式是一件令人头痛的苦差事,虽然你可以查看帮助文件,所以我们需要功能强大操作简单的工具来完成这一任务,数据转换服务DTS 提供了这种支持.因此本章将介绍DTS 的基本情况.讨论DTS 的各个构建组件以及如何完成数据转换服务. 数据转换服务简介 为了支持企业决策,许多组织都需将数据集中起来进行分析.