Microsoft SQL Server 2000 的数据转换服务
摘要:数据库管理员经常需要导入、导出或转换数据以便支持诸如数据合并、归档和分析等任务,以及开发应用程序或升级数据库或服务器。SQL Server 2000 中的数据转换服务 (DTS) 提供了一套图形化工具和可编程对象,以帮助管理员和开发人员解决数据移动问题,其中包括将数据从分散的数据源中提取出来,并且转换、合并到一个或多个目标位置。可以将任务组、工作流操作以及约束条件收集起来形成 DTS 软件包,然后安排它定期运行或在某些事件发生后运行。本白皮书将介绍 DTS,并对可用于创建 DTS 解决方案的一些组件和服务进行说明,还将阐释如何使用 DTS 设计器来实施 DTS 解决方案,并介绍 DTS 应用程序的开发情况。
目录
∙ DTS 简介
∙ 什么是 DTS?
∙ DTS 的新功能
∙ 使用 DTS 设计器
∙ 任务:定义软件包中的步骤
∙ 工作流:设置任务优先级
∙ 连接:访问和移动数据
∙ 数据泵:转换数据
∙ 保存 DTS 软件包的选项
∙ DTS 作为应用程序开发平台
∙ 有关详细信息
DTS 简介
大多数组织都使用多种格式和多个位置来存储数据。为了支持决策、改善系统性能或对现有系统进行升级,经常必须将数据从一个数据存储位置移动到另一个存储位置。
Microsoft? SQL Server? 2000 数据转换服务 (DTS) 提供一组工具,可以从不同的源将数据抽取、转换和合并到一个或多个目标位置。借助于 DTS 工具,您可以创建适合于您的组织特定需要的自定义移动解决方案,如以下方案所示:
∙ 您已在较早版本的 SQL Server 或另一平台上部署了一个数据库应用程序,如 Microsoft Access。该应用程序的新版本要求 SQL Server 2000,因此需要您更改数据库架构并转换某些数据类型。
要复制和转换数据,您可以生成一个 DTS 解决方案,该方案可把数据库对象从原数据源复制到 SQL Server 2000 数据库中,同时重新映射列并更改数据类型。可以使用 DTS 工具运行此解决方案,或者将该解决方案嵌入您的应用程序。
∙ 您必须将几个主要的 Microsoft Excel 电子表格合并到 SQL Server 数据库。几个部门会在月末创建这些电子表格,但是并没有设定完成所有电子表格的时间。
要合并电子表格,可以生成一个 DTS 解决方案,在消息传送到消息队列时运行该解决方案。此消息触发 DTS 从电子表格抽取数据,执行所有定义的转换然后将数据加载到 SQL Server 数据库中。
∙ 您的数据仓库包含有关业务操作的历史数据,您使用 Microsoft SQL Server 2000 分析服务来汇总数据。而该数据仓库每晚需要从联机事务处理 (OLTP) 数据库进行更新。OLTP 系统每天 24 小时都在运行,所以性能至关重要。
您可以生成一个 DTS 解决方案,该方案使用文件传输协议 (FTP) 将数据文件移动到本地驱动器,将数据加载到一个实际的表中,然后使用分析服务对数据进行合计。可以安排每晚运行 DTS 解决方案,还可以使用新的 DTS 记录选项来跟踪该进程的进行时间,从而可以分析不同时间段内的性能。
什么是 DTS?
DTS 是一组工具,用于在一个或多个数据源(如 Microsoft SQL Server、Microsoft Excel 或 Microsoft Access)间导入、导出和转换各种数据。通过 OLE DB(一种数据访问的开放式标准)提供连接, 通过用于 ODBC 的 OLE DB 提供程序来支持 ODBC(开放式数据库连接)数据源。
可以将 DTS 解决方案创建为一个或多个软件包。每个软件包可包含一组已安排好的任务,它们定义要执行的工作、对数据和对象的转换、定义任务执行的工作流约束条件以及数据源和目标间的连接方式。DTS 软件包还提供一些服务,如记录软件包执行详细情况、控制事务和处理全局变量。
以下工具可用于创建和执行 DTS 软件包:
∙ 导入/导出向导用于生成相对简单的 DTS 软件包,并支持数据移植和简单转换。
∙ DTS 设计器以图形方式来实现 DTS 对象模型,可用于创建具有一系列功能的 DTS 软件包。
∙ DTSRun 是用于执行现有 DTS 软件包的命令提示实用程序。
∙ DTSRunUI 是 DTSRun 的图形界面,可以传递全局变量以及生成命令行。
∙ SQLAgent 不是 DTS 应用程序,DTS 将其用于安排软件包的执行。
使用 DTS 对象模型还可以用编程方式创建和运行软件包,生成自定义任务和自定义转换。
DTS 的新功能
Microsoft SQL Server 2000 中加入了多种 DTS 增强功能和新功能:
∙ 新的 DTS 任务包括 FTP 任务、执行软件包任务、动态属性任务和信息队列任务。
∙ 增强的记录功能可以保存每个软件包的执行信息,从而为您保留一个完整的执行历史记录,并可以查看每一任务的每个进程的信息。可以生成异常情况文件,文件中包含因错误而无法处理的数据行。
∙ 您可以将 DTS 软件包另存为 Microsoft Visual Basic? 文件。
∙ 新的多阶段数据泵允许高级用户自定义不同阶段的数据转换操作。还可以将全局变量用作查询的输入参数。
∙ 您可以在 DTS 转换任务和执行 SQL 任务时使用参数化源查询。
∙ 可以使用执行软件包任务将全局变量的值从父软件包动态分配到子软件包。
使用 DTS 设计器
DTS 设计器以图形方式实现 DTS 对象模型,使您可以用图形方式创建 DTS 软件包。您可以使用 DTS 设计器执行以下任务:
∙ 创建包含一个或多个步骤的的简单软件包。
∙ 创建包括复杂工作流的软件包,这些工作流包括多个步骤,而这些步骤使用条件逻辑、事件驱动代码或与数据源的多种连接。
∙ 编辑现有软件包。
DTS 设计器界面包括一个工作区(用于生成软件包)、几个工具栏(其中包含可拖动到设计工作表上的软件包元素)以及几个菜单(其中包含工作流和软件包管理命令)。
通过将连接和任务拖动到设计工作表,然后指定工作流的执行顺序,可以方便地使用 DTS
设计器来生成功能强大的 DTS 软件包。以下各部分将对任务、工作流、连接和转换进行定义,并阐释使用 DTS 设计器实施 DTS 解决方案的方便性。
任务:定义软件包中的步骤
一个 DTS 小写字符串是什么软件包通常包括一个或多个任务。每个任务定义一个在软件包执行期间可能要执行的工作项。可以使用这些任务进行以下操作:
∙ 转换数据
转换数据任务 | 用于在源和目标间移动数据,可以选择对数据应用列一级的转换。 | |
数据驱动的查询任务 | 用于对数据执行灵活的基于 SQL 事务的操作,包括存储过程和 INSERT、UPDATE 或 DELETE 语句。 | |
并行数据泵任务 | 只可按编程方式使用,并行数据泵任务执行的功能与转换数据和数据驱动的查询任务相同,但它支持 OLE DB 2.5 或更高版本所定义的分层次的行集合。 | |
∙
∙ 复制和管理数据
批量插入任务 | 用于快速将大量数据加载到 SQL Server 表或视图中。 | |
执行 SQL 任务 | 用于在软件包执行期间运行 SQL 语句。执行 SQL 任务还可以保存作为查询结果的数据。 | |
复制 SQL Server 对象任务 | 用于将 SQL Server 对象从一个 SQL Server 或其实例复制到另一个 SOL Server 或实例。可以复制对象(如:数据和表)以及对象(如:视图和存储过程)的定义。 | |
传输数据库任务1 | 用于将 SQL Server 数据库从 SQL Server 7.0 版本或 SQL Server 2000 的一个实例移动或复制到 SQL Server 2000 的一个实例中。 | |
传输错误消息任务1 | 用于将针对用户的错误消息(通过 sp_addmessage 系统存储过程创建)从 SQL Server 7.0 或 SQL Server 2000 的一个实例复制到 SQL Server 2000 的一个实例中。 | |
传输登录任务 1 | 用于将登录信息从 SQL Server 7.0 或 SQL Server 2000 的一个实例复制到 SQL Server 2000 的一个实例中。 | |
传输作业任务1 | 用于将作业从 SQL Server 7.0 或 SQL Server 2000 的一个实例复制到 SQL Server 2000 的一个实例中。 | |
传输主存储过程任务 1 | 用于将存储过程从 SQL Server 7.0 或 SQL Server 2000 的一个实例的主数据库复制到 SQL Server 2000 的一个实例的主数据库。 | |
∙
∙ 将任务作为软件包中的作业运行
ActiveX 脚本任务 | 用于编写代码以执行在其它 DTS 任务中无法执行的功能。 | |
动态属性任务1 | 用于在软件包运行时从 DTS 软件包以外的源检索值,并将这些值分配给选定的软件包属性。 | |
执行软件包任务1 | 用于运行软件包内其它的 DTS 软件包。 | |
执行进程任务 | 用于运行可执行程序或批处理文件。 | |
文件传输协议 (FTP) 任务1 | 用于从远程服务器或 Internet 下载数据文件。 | |
消息队列任务1 | 用于从 Microsoft 消息队列发送和接收消息。 | |
发送邮件任务 | 用于发送消息。 | |
分析服务处理任务2 | 用于对 SQL Server 2000 分析服务中定义的一个或多个对象执行处理。 | |
数据挖掘任务1,2 | 用于从 SQL Server 2000 分析服务中定义的数据挖掘模式对象中创建谓词查询或输出表。 | |
1 SQL Server 2000 中的新功能。
2 只在安装了 SQL Server 2000 分析服务的前提下可用。
还可以用编程方式创建自定义任务,然后使用“注册自定义任务”命令将其集成到 DTS 设计器中。
为说明如何使用这些任务,这里显示一个简单的 DTS 软件包,其中包括两项任务: Microsoft ActiveX? 脚本任务以及发送邮件任务:
图 2. 具有两项任务的 DTS 软件包
ActiveX 脚本任务可以包含任何 ActiveX 脚本引擎,包括 Microsoft Visual Basic Scripting Edition (VBScript)、Microsoft JScript? 或 ActiveState ActivePerl。这些搜索引擎可以从 www.activestate 下载。发送邮件任务可以发送消息,指示软件包已运行。请注意,这些任务尚未排序。执行软件包时,ActiveX 脚本任务和发送邮件任务将同时运行。
工作流:设置任务优先级
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论