SQL Server 2008 中对 Data Transformation Services (DTS) 的支持

尽管已不推荐使用 SQL Server 2000 Data Transformation Services (DTS),SQL Server 2008 仍为使用 DTS 工具和对象模型创建的包提供可选的 32 位管理支持、运行时支持和设计时支持。 (有关不推荐使用的 DTS 的详细信息,请参阅 Data Transformation Services (DTS)。)

重要说明重要提示

需要手动安装在安装期间未提供的附加、可选组件,才能使用本主题介绍的功能(包括对 DTS 包的运行时支持)。有关详细信息,请参阅本主题后面的“安装 DTS 包的运行时支持组件”和“安装 DTS 包的设计时支持组件”等部分。

请注意,并不是在所有情况下都支持所有 DTS 功能。以下各节介绍在 SQL Server 2008 中具体支持哪些 DTS 功能。

64 位操作系统上的受限 DTS 功能

SQL Server 2008 在以下情况下不包含对 DTS 的支持:

  • 不为 DTS 包提供 64 位设计时或运行时支持。在 64 位计算机上,DTS 包和运行 DTS 包的 Integration Services 包只能以 32 位模式运行。 有关详细信息,请参阅如何安装 Data Transformation Services 包的支持组件

  • 在基于 Itanium 的操作系统上,也不为 DTS 包提供 32 位设计时或运行时支持。因此,不能在基于 Itanium 的操作系统上创建、查看、修改或运行 DTS 包。

支持的 DTS 功能

SQL Server 2008 包括对以下 DTS 功能的支持:

  • DTS 运行库、它所公开的对象模型以及 dtsrun.exe 命令提示实用工具。

  • 执行 DTS 2000 包任务,用于在 Integration Services 包内执行 DTS 包。

  • ActiveX 脚本任务,仅用于向后兼容。

  • DTS 包迁移向导,用于将 DTS 包迁移为 Integration Services 包格式。

  • DTS 包的升级顾问规则,用于识别在迁移包时可能遇到的潜在问题。

重要说明重要提示

当选择安装 Integration Services 时,将安装执行 DTS 2000 包任务、ActiveX 脚本任务以及 DTS 包迁移向导。但是,这些组件只有在手动安装其他可选组件后,才可以完全正常运行,这些可选组件在安装过程中不可用。有关详细信息,请参阅本主题后面的“安装 DTS 包的运行时支持组件”一节。

本主题的其余部分详细介绍了 SQL Server 2008 支持的 DTS 功能。使用以下链接可快速连接到相应内容:

  • 一般信息

    • DTS 和 SSIS 之间的常规兼容性

    • 管理 DTS 包

  • 设计和运行 DTS 包

    • 安装 DTS 包的运行时支持组件

    • 从命令提示符运行 DTS 包

    • 从 SQL Server 代理作业运行 DTS 包

    • 从 Integration Services 包运行 DTS 包

    • 安装 DTS 包的设计时支持组件

  • 迁移 DTS 包

    • 迁移 DTS 包

    • 将 dtsrun 命令迁移到 dtexec 命令

  • 有限支持

    • 支持 ODBC 数据源

    • 对存储库包的支持

    • SQL Server Express 中对 DTS 包的支持

DTS 和 Integration Services 之间的常规兼容性

DTS 与 Integration Services 是完全不同的产品。Integration Services 不是 DTS 的版本升级。因此,DTS 和 Integration Services 之间不存在软件冲突。 您可以执行以下过程:

  • 在相同服务器上同时安装 DTS 和 Integration Services。

  • 在同一台服务器上同时运行 DTS 和 Integration Services 包。即使服务器上没有 SQL Server 2000 工具,也可以使用随 Integration Services 一起安装的 DTS 运行时的更新版本运行 DTS 包。

  • 将 DTS 包保存在 SQL Server 2000 实例或运行 SQL Server 2005 或更高版本的实例的 msdb 数据库中。 但是,只能将 SQL Server 2008Integration Services 包保存在运行 SQL Server 2008 的实例上。

  • 即使计算机上没有 SQL Server 2000 工具,也可以选择下载 DTS 设计器来修改 DTS 包。但是,不能在 Business Intelligence Development Studio 中直接打开或修改 DTS 包。

    注意注意

    有关如何下载 DTS 设计器的更新版本的信息,请参阅安装 SQL Server 2000 DTS 包的设计时支持组件一节。

将现有 SQL Server 实例升级到 SQL Server 2008 时,DTS 在 msdb 数据库中使用的系统表(如 sysdtspackages)保持不变。DTS 包不会自动迁移。有关如何迁移包的信息,请参阅迁移 DTS 包一节。

用于“返回首页”链接的箭头图标返回本节顶部

管理 DTS 包

按照“安装 DTS 包的运行时支持组件”一节中所述安装 DTS 的可选运行时支持组件后,您就可以通过 SQL Server Management Studio 管理 DTS 包了。 可以将这些 DTS 包存储在 SQL Server 2000 实例中,也可以将其导入并存储在运行 SQL Server 2005 或更高版本的实例中。

重要说明重要提示

有关如何保护 DTS 包的重要信息,请参阅保护存储在 SQL Server 中的 DTS 包

若要在 Management Studio 中查看 DTS 包,请首先连接到 SQL Server 实例。(不要连接到 Integration Services 实例。)然后,在对象浏览器的 Management\Legacy\Data Transformation Services 节点下,您将执行以下任务:

  • 如果在 Management Studio 中选择了 Data Transformation Services 节点,则可以查看并打开包,将它们从结构化存储文件导入 SQL Server,或者启动 DTS 包迁移向导。

  • 如果在 Management Studio 中选择了单个 DTS 包,则可打开该包进行修改、迁移,也可将其导出到结构化存储文件或将其删除。

    注意注意

    若要打开或修改 DTS 包,必须单独下载 DTS 设计器组件。请参阅安装 SQL Server 2000 DTS 包的设计时支持组件一节。DTS 包无法在 BI Development Studio 中直接打开或修改。

Integration Services 数据库级角色可授予对 msdb 数据库中 Integration Services 系统表的权限,但不能授予对 DTS 系统表(例如 msdb 数据库中的 sysdtspackages)的权限。必须先授予用户对 DTS 系统表的权限,他们才能执行某些管理任务,例如在 Management Studio 中导入 DTS 包。有关 Integration Services 数据库级角色的信息,请参阅使用 Integration Services 角色

用于“返回首页”链接的箭头图标返回本节顶部

安装 DTS 包的运行时支持组件

尽管可以在同一计算机上运行 DTS 包和 Integration Services 包,但 SQL Server 2008 不会安装 DTS 包的运行时支持组件。您必须先安装此运行时支持,然后才能运行和管理 DTS 包。有关如何安装对 DTS 的运行时支持的信息,请参阅如何安装 Data Transformation Services 包的支持组件

提供对 DTS 包的运行时支持的向后兼容文件还包括对 SQL Server 2000Analysis Services 处理任务及其依赖项(即决策支持对象 [DSO])的运行时支持。但是向后兼容文件不包括用于修改包含 SQL Server 2000Analysis Services 处理任务的 DTS 包的设计时支持组件。仅当在同一台计算机上安装有 SQL Server 2000Analysis Services 时,才可以修改包含此任务的包。

提供对 DTS 包的运行时支持的向后兼容文件不包括对 SQL Server 2000 数据挖掘预测查询任务的支持。

用于“返回首页”链接的箭头图标返回本节顶部

从命令提示符运行 DTS 包

可以从命令提示符运行 DTS 包。安装 DTS 运行时支持组件时,Integration Services 会安装 dtsrun.exe 实用工具。

用于“返回首页”链接的箭头图标返回本节顶部

从 SQL Server 代理作业运行 DTS 包

若要从 SQL Server 代理作业运行 DTS 包,必须将作业步骤设置为**“操作系统(CmdExec)”,并使用 dtsrun 实用工具 (dtsrun.exe) 运行该包。 不能将作业步骤设置为“SQL Server Integration Services 包”**。有关详细信息,请参阅如何运行包

用于“返回首页”链接的箭头图标返回本节顶部

从 Integration Services 包运行 DTS 包

您还可以将 DTS 包作为 Integration Services 包的一部分来运行。Integration Services 提供了执行 DTS 2000 包任务,用于从 Integration Services 包中运行 DTS 包。 有关详细信息,请参阅执行 DTS 2000 包任务

用于“返回首页”链接的箭头图标返回本节顶部

安装 DTS 包的设计时支持组件

DTS 包无法在 Business Intelligence Development Studio 中直接打开或修改。此外,SQL Server 2008 和 SQL Server 2005 都没有安装用于修改 DTS 包的 DTS 包设计器。但是,可以下载和安装 DTS 包设计器,并使用该设计器修改 DTS 包。有关如何安装对 DTS 包的设计时支持的信息,请参阅如何安装 Data Transformation Services 包的支持组件。 安装此下载组件之后,可以从 Management Studio 或 Business Intelligence Development Studio 的执行 DTS 2000 包任务编辑器中查看和修改 DTS 包。

有关如何管理影响 DTS 设计环境的某些 DTS 应用程序属性的信息,请参阅设置 DTS 应用程序属性

用于“返回首页”链接的箭头图标返回本节顶部

迁移 DTS 包

SQL Server 提供了用于将 DTS 包迁移到 Integration Services 包格式的 DTS 包迁移向导。如果选择安装 Integration Services,安装程序还将安装 DTS 包迁移向导。还可以选择使用 DTS 包迁移向导将 DTS 包升级为 Integration Services 格式。在迁移过程中,该向导将复制 DTS 包,然后以 Integration Services 格式重新创建这些包。源包将保持不变且不会被修改。

注意注意

以下 SQL Server 版本中提供了 DTS 包迁移向导:Standard Edition、Enterprise Edition 和 Developer Edition。

许多包可以完全迁移到 Integration Services,特别是使用任务和连接的包以及使用在 Integration Services 中具有等效项的其他对象的包。通过封装无法在执行 DTS 2000 包任务内迁移的某些任务或功能,其他包也可以成功迁移。 有关详细信息,请参阅迁移 Data Transformation Services 包

在运行 DTS 包迁移向导之前,您可能希望安装并运行升级顾问,以分析现有包是否存在迁移问题。有关详细信息,请参阅使用升级顾问来准备升级

注意注意

对于保存在 SQL Server 7.0 实例的 msdb 数据库中的 DTS 包,升级顾问无法对其进行分析,并且 DTS 包迁移向导无法对其进行迁移。但是,升级顾问可以分析作为结构化存储文件保存的 SQL Server 7.0 DTS 包,DTS 包迁移向导也可以迁移这些包。此外,对于保存在已升级为 SQL Server 2005 或更高版本的 SQL Server 7.0 实例的 msdb 数据库中的 SQL Server 7.0 DTS 包,升级顾问可以对其进行分析,DTS 包迁移向导也可以对其进行迁移。

用于“返回首页”链接的箭头图标返回本节顶部

迁移用于执行包的命令行

若要了解用于 SQL Server 2000 DTS dtsrun 实用工具 (dtsrun.exe) 的命令行选项如何映射到用于 Integration Servicesdtexec 实用工具 (dtexec.exe) 的命令行选项,请参阅 将 dtsrun 选项映射到 dtexec 选项

用于“返回首页”链接的箭头图标返回本节顶部

支持 ODBC 数据源

若要将数据加载或保存到 ODBC 数据源,可以使用 ADO.NET 源或目标并选择用于 ODBC 的 .NET Framework 数据访问接口。还可以使用脚本组件创建在单个包内使用的即席 ODBC 源或目标。有关详细信息,请参阅使用脚本组件创建 ODBC 目标

用于“返回首页”链接的箭头图标返回本节顶部

对 Meta Data Services(存储库)包的支持

SQL Server 2000 Meta Data Services(通常称为存储库)是一个不推荐使用的组件。SQL Server 2005 及更高版本不安装也不使用存储库。

DTS 设计器和 dtsrun 实用工具继续支持保存到存储库中的 DTS 包。

Integration Services 仅在升级顾问和 DTS 包迁移向导中支持存储库,且仅限于本地计算机上安装了存储库可再发行文件的情况。(当计算机上安装了 SQL Server 2000 或 SQL Server 2000 工具时,通常会存在这些文件。)当存在存储库可再发行文件时,升级顾问可以扫描保存到存储库的 DTS 包,DTS 包迁移向导也可以迁移这些 DTS 包。 当不存在存储库可再发行文件时,只能针对保存到 SQL Server 或结构化存储文件中的 DTS 包使用升级顾问和 DTS 包迁移向导。

Integration Services 执行 DTS 2000 包任务无法运行保存到存储库中的 DTS 包。但是,SQL Server 2000 DTS 运行时可以运行这样的包。因此,若要使 Integration Services 包运行一个存储在存储库中的 DTS 包,请按下列步骤操作:

  1. 确保运行 Integration Services 包的计算机上安装了存储库文件。若要安装存储库文件,请在本地计算机上安装 SQL Server 2000、SQL Server 2000 工具或存储库可再分发文件。

  2. 创建新的 DTS 包,用作存储在存储库中的 DTS 包的包装。在此 DTS 包装包中,使用执行包任务执行存储在存储库中的包。将此包装包保存到 SQL Server 中或保存为结构化存储文件。

  3. 使用 Integration Services 包中的执行 DTS 2000 包任务来运行新的 DTS 包装包。

用于“返回首页”链接的箭头图标返回本节顶部

SQL Server Express 中对 DTS 包的支持

SQL Server Express 不包含 Integration Services,也不支持 DTS 包。但是,可以通过下列方法之一在运行 SQL Server Express 的服务器上处理 DTS 包:

  • 若要在运行 SQL Server Express 的服务器上运行现有 DTS 包,该服务器上需要安装有 DTS 运行时。 尽管 SQL Server Express 不包含 DTS 运行时,但您可以通过安装 SQL Server 2000 客户端工具或 DTS 可再分发文件在服务器上安装 DTS 运行时。

  • 若要在运行 SQL Server Express 的服务器上修改现有 DTS 包,可以使用 SQL Server 2000 工具。 您还可以在运行 SQL Server Workgroup Edition、Standard Edition、Enterprise 或 Developer 中任一版本的服务器上的 SQL Server Management Studio 中远程修改包。SQL Server Express 不包括 SQL Server Management Studio。

  • 若要将现有 DTS 包迁移到 Integration Services,需要随 Integration Services 一起安装的 DTS 包迁移向导。SQL Server Express 不包含此向导。 您可以使用 SQL Server Standard、Enterprise 或 Developer 中的任一版本运行该向导。

用于“返回首页”链接的箭头图标返回本节顶部