如何运行包

若要运行 Integration Services 包,可以使用下列工具之一:

  • dtexec 命令提示实用工具 (dtexec.exe)。

  • 执行包实用工具 (dtexecui.exe)。

  • SQL Server 代理作业。

下面几节介绍如何使用上面的每种工具来运行包。

注意注意

还可以在 Business Intelligence Development Studio 中于设计时运行包。有关详细信息,请参阅如何在 Business Intelligence Development Studio 中运行包

使用 dtexec 运行包

使用 dtexec 实用工具,可以运行存储在文件系统中、SQL Server 实例中或者 Integration Services 包存储区中的包。有关可用在 dtexec 命令行中的选项以及一些示例命令行的信息,请参阅 dtexec 实用工具(SSIS 工具)

注意注意

在 64 位计算机上,Integration Services 将安装 64 位版本的 dtexec 实用工具。如果需要以 32 位模式运行某些包,还必须安装 32 位版本的 dtexec 实用工具。若要安装 32 位版本的 dtexec 实用工具,必须在安装过程中选择“客户端工具”或 Business Intelligence Development Studio。

使用 dtexec 实用工具运行包

  1. 在命令提示符下,键入 dtexec /,其后跟随 DTS、SQL 或 File 选项和包路径。请确保在包路径中包括包文件的名称。

  2. 如果包的加密级别为 EncryptSensitiveWithPassword 或 EncryptAllWithPassword,则请使用 Decrypt 选项提供密码。如果您未包括密码,dtexec 将提示您输入密码。

  3. (可选)输入其他命令行选项。

  4. 按 Enter 键。

  5. (可选)在关闭“命令提示符”窗口前,查看日志记录和报告信息。

使用执行包实用工具运行包

执行包实用工具 (dtexecui.exe) 创建一个可以按如下方法使用的命令行:

  • 复制到文件中,并与 dtexec 实用工具的 CommandFile 选项一起使用。

  • 在使用 dtexec 实用工具运行包时直接粘贴到“命令提示符”窗口中。

执行包实用工具仅在 32 位版本中可用。在 64 位计算机上,在生产服务器上部署或安排执行包实用工具所创建的任何命令之前,还应当在 64 位模式下测试它们。若要在 64 位模式下测试这些命令,请使用 64 位版本的 dtexec 实用工具。

使用执行包实用工具运行包

  1. 在 Management Studio 的**“视图”菜单上单击“对象资源管理器”**。

  2. 在对象资源管理器中,单击**“连接”**,再单击 Integration Services

    注意注意

    如果无法连接,请验证是否启动了 Integration Services 服务。服务状态可以设置为“自动”或“手动”。有关详细信息,请参阅如何设置 Integration Services 服务的属性

  3. 展开**“已存储的包”文件夹及其子文件夹,找到要运行的包,右键单击此包,再单击“运行包”**。

  4. (可选)在**“执行包实用工具”**对话框中,执行下面的一项或多项任务:

    • 指定另一个要运行的包。

    • 单击**“配置”“命令文件”“连接管理器”“执行选项”“报告”“日志记录”“设置值”“验证”**来更新运行时选项。

    • 单击**“命令行”**来检查该实用工具所使用的命令行。

  5. 单击**“执行”**。

  6. 若要停止正在运行的包,请单击**“包执行进度”对话框中的“停止”**。

  7. 包完成时,单击**“关闭”退出“包执行进度”**对话框。

使用 SQL Server 代理运行包

在创建用来运行包的 SQL Server 代理作业时,必须为希望运行的每个包创建一个单独的步骤。该作业可以与一个或多个计划关联,也可以是手动运行的未计划作业。

将 Integration Services 包作为 SQL Server 代理作业步骤来运行的帐户需要与直接运行该包的帐户具有完全相同的权限。有关如何对从 SQL Server 代理作业运行的包进行故障排除的信息,请参阅 Microsoft 知识库文章 An SSIS package does not run when you call the SSIS package from a SQL Server Agent job step(从 SQL Server 代理作业步骤调用 SSIS 包时 SSIS 包不运行)

有关演示如何对从 SQL Server 代理作业运行的包进行故障排除的视频,请参阅 MSDN Library 中的视频主页 Troubleshooting: Package Execution Using SQL Server Agent (SQL Server Video)(故障排除:使用 SQL Server 代理执行包(SQL Server 视频))。

有关演示如何使用 SQL Server 代理来运行包的视频,请参阅 MSDN Library 中的视频主页 How to: Automate Package Execution by Using the SQL Server Agent (SQL Server Video)(如何使用 SQL Server 代理自动执行包(SQL Server 视频))。

使用 SQL Server 代理作业运行包

  1. 在 SQL Server Management Studio 中,打开要在其中创建作业的 SQL Server 的实例,或者打开包含要向其中添加步骤的作业的实例。

  2. 展开 SQL Server 代理,然后执行下列任务之一:

    • 若要新建作业,请右键单击**“作业”,再单击“新建”**。

    • 若要使用现有作业,请展开**“作业”,右键单击该作业,再单击“属性”**。

  3. 在**“常规”**页上,如果要创建新的作业,请提供作业名称,选择所有者和作业类别,还可以选择提供作业说明。

  4. 若要使作业可以进行安排,请选择**“已启用”**。

  5. 单击**“步骤”,再单击“新建”**。

  6. 提供步骤名,并在**“类型”**列表中,选择一个作业步骤类型,该类型基于要运行该作业的 dtexec 实用工具 (dtexec.exe) 的版本:

    • 若要使用系统自动调用的 dtexec 实用工具的版本来运行作业,请选择**“SQL Server Integration Services 包”**。

      在运行 SQL Server 和 SQL Server 代理的 32 位计算机上,此设置调用 dtexec 实用工具的 32 位版本。

      在已安装并运行 64 位版本的 SQL Server 和 SQL Server 代理的 64 位计算机上,此设置调用 dtexec 实用工具的 64 位版本。

      在只安装并运行 32 位版本的 SQL Server 和 SQL Server 代理的 64 位计算机上,此设置调用 dtexec 实用工具的 32 位版本。

    • 若要通过 64 位版本的 SQL Server 代理以 32 位模式运行包,请在**“新建作业步骤”对话框的“执行选项”选项卡上选择“使用 32 位运行时”**。

  7. 在**“运行身份”**列表中,选择作业要使用的凭据所属的代理帐户。有关详细信息,请参阅以下主题:

  8. 在**“常规”**选项卡上,选择包源。

    如果源是 SQL Server 或 SSIS 包存储区,请提供服务器名称并选择要使用的身份验证模式。然后,提供包的名称,或者单击省略号按钮 (…) 并找到该包。

    如果源是文件系统,请提供包的路径和名称,或单击省略号按钮 (…) 并找到该包。

    重要说明重要提示

    对于受密码保护的 SSIS 包,请单击“配置”选项卡,在“包密码”对话框中输入密码。否则,运行受密码保护包的 SQL Server 代理作业将失败。

  9. 若要指定命令行选项,请执行下列操作:

    • 单击**“命令文件”**选项卡,指定含有包所使用的选项的文件。

    • 单击**“命令行”**选项卡,修改或还原命令行选项。

    • 单击**“配置”**选项卡,添加配置文件,还可以选择将已配置的变量导出到文件中。

    • 单击**“数据源”**选项卡,选中连接管理器复选框,然后更新连接字符串。

    • 单击**“执行选项”**选项卡,指定包运行时的行为,例如,包是否在出现警告时失败。

    • 单击**“日志记录”选项卡,添加日志提供程序。选择“日志提供程序”**列表中的一个日志提供程序,然后键入连接字符串。

    • 单击**“设置值”**选项卡,将属性和变量映射为值。

      注意注意

      属性路径使用此语法:\Package\<容器名称>.<属性名称>。根据包结构的不同,容器可能包括其他容器,在这种情况下,嵌套的容器由反斜杠 (\) 分隔。例如,Package\MyForeachLoop\MySequence\MyExecuteSQLTask.Description。

    • 单击**“验证”**选项卡,指定是否只有签名的包才可以运行,并指定运行的包的版本。

  10. 单击**“确定”**。