下面的过程提供了通过使用 SQL Server 代理作业步骤运行包来自动执行该包的步骤。
通过使用 SQL Server 代理自动执行包
在 SQL Server Management Studio中,连接到要在其上创建作业的 SQL Server 的实例,或者打开包含要向其中添加步骤的作业的实例。
在对象资源管理器中展开 SQL Server 代理节点,然后执行下列任务之一:
若要创建新作业,请右键单击“ 作业 ”,然后单击“ 新建作业”。
若要向现有作业添加步骤,请展开 “作业”,右键单击该作业,然后单击“ 属性”。
在 “常规 ”页上,如果要创建新作业,请提供作业名称,选择所有者和作业类别,还可以提供作业说明。
若要使作业可以进行安排,请选择 “已启用” 。
若要为要计划的包创建作业步骤,请单击“ 步骤”,然后单击“ 新建”。
选择 “Integration Services 包” 作为作业步骤类型。
在 “运行身份” 列表中,选择 “SQL Server 代理服务帐户” 或选择该作业步骤要使用的凭据所属的代理帐户。 有关创建代理帐户的信息,请参阅 Create a SQL Server Agent Proxy。
用代理帐户来代替 “SQL Server 代理服务帐户” 可以解决在使用 SQL Server 代理执行包时可能出现的常见问题。 有关这些问题的详细信息,请参阅Microsoft知识库文章: 从 SQL Server 代理作业步骤调用 SSIS 包时,SSIS 包不会运行。
注释
如果代理帐户所用凭据的密码更改,那么您需要更新凭据密码。 否则,该作业步骤将失败。
有关配置 SQL Server 代理服务帐户的信息,请参阅为 SQL Server 代理设置服务启动帐户(SQL Server 配置管理器)。
在“ 包源 ”列表框中,单击包的源,然后配置作业步骤的选项。
下表说明了可能的包源。
“包源” DESCRIPTION SSIS 目录 存储在 SSISDB 数据库中的包。 部署到 Integration Services 服务器的 Integration Services 项目中包含的包。 SQL Server 存储在 MSDB 数据库中的包。 可使用 Integration Services 服务来管理这些包。 SSIS 包存储 存储在您计算机上默认文件夹中的包。 默认文件夹为 <驱动器>:\Program Files\Microsoft SQL Server\110\DTS\Packages。 可使用 Integration Services 服务来管理这些包。
注意:可以修改 Integration Services 的配置文件,从而在文件系统中指定其他一个或多个文件夹,以供 Integration Services 服务管理。 有关详细信息,请参阅配置 Integration Services 服务(SSIS 服务)。文件系统 存储在您本地计算机上任意文件夹中的包。 以下各表说明可用于作业步骤的配置选项(具体选项取决于您所选的包源)。
重要
如果包受密码保护,当单击“新建作业步骤”的“常规”页上除“包”选项卡之外的任何选项卡时,需要在出现的“包密码”对话框中输入密码。 如果不输入, SQL Server 代理作业将无法运行该包。
包源:SSIS 目录
选项卡 选项 包 服务器
键入或选择承载 SSISDB 目录的数据库服务器实例的名称。
当 SSIS 目录是包源时,只能使用 Microsoft Windows 用户帐户登录到服务器。 SQL Server 身份验证不可用。包
单击省略号按钮并选择一个包。
您需要在 “对象资源管理器” 的 “Integration Services 目录” 节点下的文件夹中选择包。参数
位于 “配置” 选项卡上。为包中包含的参数输入新值。 您可以输入一个文字值,或使用已经映射到该参数的服务器环境变量所包含的值。 ** 重要说明 ** 如果将多个参数和/或连接管理器属性映射到了多个环境中包含的变量,SQL Server 代理将显示一条错误消息。 对于给定的执行,只能使用单个服务器环境中包含的值来执行包。
若要输入文本值,请单击参数旁边的省略号按钮。 随即出现 “编辑用于执行的文字值” 对话框。
若要使用环境变量,请单击“ 环境 ”,然后选择包含要使用的变量的环境。
“参数” 选项卡显示您在设计包(例如通过使用 SQL Server Data Tools (SSDT)来设计包)时就已添加的参数。 该选项卡还显示在将 Integration Services 项目从包部署模型转换为项目部署模型后添加到包中的参数。 “Integration Services 项目转换向导” 支持您使用参数替换包配置。
有关如何创建服务器环境并将变量映射到参数的信息,请参阅 “创建和映射服务器环境”。连接管理器
位于 “配置” 选项卡上。更改连接管理器属性的值。 例如,您可以更改服务器名称。
将在 SSIS 服务器上为连接管理器属性自动生成参数。
若要更改某个属性值,可以输入一个文字值,或使用已经映射到连接管理器属性的服务器环境变量所包含的值。 ** 重要说明 ** 如果将多个参数和/或连接管理器属性映射到了多个环境中包含的变量,SQL Server 代理将显示一条错误消息。 对于给定的执行,只能使用单个服务器环境中包含的值来执行包。
若要输入文本值,请单击参数旁边的省略号按钮。 随即出现 “编辑用于执行的文字值” 对话框。
若要使用环境变量,请单击“ 环境 ”,然后选择包含要使用的变量的环境。
有关如何创建服务器环境并将变量映射到连接管理器属性的信息,请参阅 “创建和映射服务器环境”。高级
位于 “配置” 选项卡上。为包执行配置以下附加设置。
属性替代:单击“ 添加” 可输入包属性的新值,指定属性路径,并指示属性值是否敏感。 Integration Services 服务器将对敏感数据加密。 若要编辑或删除属性的设置,请单击“ 属性 替代”框中的行,然后单击“ 编辑 ”或“ 删除”。 请注意, “属性替代” 选项适用于具有从以前版本的 Integration Services 升级的配置的包。 使用 SQL Server 2014 Integration Services (SSIS) 创建的包,并部署到 Integration Services 服务器时使用参数而不是配置。 你可以通过执行以下操作之一查找属性路径:
从 XML 配置文件 (*.dtsconfig) 文件复制属性路径。 该路径列在该文件的 Configuration 部分中,作为 Path 属性的值。 下面是 MaximumErrorCount 属性的路径示例。
\Package.Properties[最大错误计数]
运行 包配置向导 ,并从最终 完成向导 页复制属性路径。 随后可以取消该向导。日志记录级别:选择的日志记录级别确定在 SSISDB 视图和 Integration Services 服务器的报表中显示的信息。 请注意,选择 “性能 ”或 “详细 ”日志记录级别可能会影响包执行的性能。 您可以为包执行选择以下日志记录级别之一:
无:日志记录已关闭。 仅记录包执行状态。
基本:记录所有事件,自定义和诊断事件除外。 这是日志记录级别的默认值。
性能:仅记录性能统计信息和 OnError 和 OnWarning 事件。
详细:记录所有事件,包括自定义和诊断事件。
有关详细信息,请参阅 在 SSIS 服务器上启用包执行的日志记录。错误转储:指定在执行包期间发生任何错误时是否生成调试转储文件。
这些文件包含有关包的执行信息,可帮助您解决出现的问题。
若选择此选项,当在执行过程中出现错误时, Integration Services 会创建一个 .mdmp 文件(二进制文件)和一个 .tmp 文件(文本文件)。 默认情况下,Integration Services 将文件存储在 <驱动器>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps 文件夹中。32 位运行时 指示是否在安装了 64 位版本的 SQL Server 和 SQL Server 代理的 64 位计算机上使用 32 位版本的 dtexec 实用工具运行包。
例如,如果您的包使用在64位版本中不可用的本地OLE DB提供程序,则可能需要使用dtexec的32位版本来运行该包。 有关详细信息,请参阅 Integration Services 的 64 位注意事项。
默认情况下,当您选择 “SQL Server Integration Services 包” 作业步骤类型时, SQL Server 代理会使用系统自动调用的 dtexec 实用工具版本来运行该包。 系统会根据计算机处理器以及在计算机上运行的 SQL Server 和 SQL Server 代理的版本,来调用 32 位或 64 位版本的实用工具。包源:SQL Server、SSIS 包存储区或文件系统
可为 SQL Server、SSIS 包存储或文件系统中存储的包设置的许多选项对应于命令提示符实用工具的
dtexec命令行选项。 有关该实用工具和命令行选项的详细信息,请参阅 dtexec 实用工具。选项卡 选项 包
这些是存储在 SQL Server 或 SSIS 包存储区中的包的选项卡选项。服务器
为 SQL Server 或 Integration Services 服务键入或选择数据库服务器实例的名称。使用 Windows 身份验证
选择此选项可以使用 Microsoft Windows 用户帐户登录到服务器。使用 SQL Server 身份验证
当用户使用指定的登录名和密码从不可信连接进行连接时, SQL Server 将通过检查是否已设置 SQL Server 登录帐户以及指定的密码是否与以前记录的密码匹配,来进行身份验证。 如果 SQL Server 找不到登录帐户,则身份验证会失败,用户将收到错误消息。用户名 密码 包
单击省略号按钮并选择软件包。
您需要在 “对象资源管理器” 的 “已存储的包” 节点下的文件夹中选择包。包
这些是存储在文件系统中的包的选项卡选项。包
键入包文件的完整路径,或单击省略号按钮以选择包。配置 添加 XML 配置文件以便使用特定配置来运行包。 使用包配置可在运行时更新包属性的值。
此选项对应于 /ConfigFile 选项。dtexec
若要了解如何应用包配置,请参阅 Package Configurations。 有关如何创建包配置的信息,请参阅 Create Package Configurations。命令文件 在单独的文件中指定要与 dtexec一起运行的其他选项。
例如,可以包括一个包含 /Dump errorcode 选项的文件,以便在包运行期间发生一个或多个指定事件时生成调试转储文件。
您可以使用不同的选项组运行包,只需创建多个文件,然后通过使用 “命令文件” 选项指定正确的文件即可。
命令文件选项对应于/CommandFile选项用于dtexec。数据源 查看包中包含的连接管理器。 若要修改连接字符串,请单击连接管理器,然后单击连接字符串。
此选项对应于/Connection用于dtexec. 的选项。执行选项 出现验证警告时包失败
指示警告消息是否被视为错误。 如果选择此选项并且在验证期间出现警告,包将无法通过验证。 此选项对应于/WarnAsError的dtexec选项。
验证包而不执行
指示是否在验证阶段之后停止执行包,而不实际运行包。 此选项对应于/Validate的dtexec选项。
覆盖 MacConcurrentExecutables 属性
指定包可以同时执行的可执行文件数。 如果值为 -1,则表示包可以运行的最大可执行文件数等于执行包的计算机上的处理器总数加二。 此选项对应于/MaxConcurrent选项用于dtexec。
启用包检查点
指示包在执行期间是否使用检查点。 有关详细信息,请参阅 通过使用检查点重新启动包。
此选项对应于用于dtexec的/CheckPointing选项。
覆盖重启选项
指示是否为CheckpointUsage包上的属性设置新值。 从 “重新启动选项” 列表框中选择一个值。
此选项对应于dtexec的/Restart选项。
使用 32 位运行时
指示是否在已安装 64 位版本的 SQL Server 和 SQL Server 代理的 64 位计算机上,使用 32 位版本的 dtexec 实用工具运行包。
例如,如果您的包使用不提供64位版本的本机OLE DB服务程序,则必须使用dtexec的32位版本来运行该包。 有关详细信息,请参阅 Integration Services 的 64 位注意事项。
默认情况下,当您选择 “SQL Server Integration Services 包” 作业步骤类型时, SQL Server 代理会使用系统自动调用的 dtexec 实用工具版本来运行该包。 系统会根据计算机处理器以及在计算机上运行的 SQL Server 和 SQL Server 代理的版本,来调用 32 位或 64 位版本的实用工具。日志记录 将日志提供程序与包执行操作相关联。
用于文本文件的 SSIS 日志提供程序
将日志条目写入 ASCII 文本文件
用于 SQL Server 的 SSIS 日志提供程序
将日志条目写入 MSDB 数据库的 sysssislog 表中。
用于 SQL Server Profiler 的 SSIS 日志提供程序
写入可用 SQL Server 事件探查器查看的跟踪。
用于 Windows 事件日志的 SSIS 日志提供程序
将日志条目写入 Windows 事件日志中的应用程序日志。
用于 XML 文件的 SSIS 日志提供程序
将日志文件写入 XML 文件。
对于文本文件、XML 文件和 SQL Server Profiler 日志提供程序,需要选择包中包含的文件连接管理器。 对于 SQL Server 日志提供程序,您选择的是该包中包含的 OLE DB 连接管理器。
此选项对应于/Logger用于dtexec的选项。设置值 覆盖包属性设置。 在 “属性” 框中的 “属性路径” 和 “值” 列中输入值。 为一个属性输入值后, “属性” 框中会出现一个空行,支持您为另一个属性输入值。
若要从“属性”框中删除属性,请单击该行,然后单击“ 删除”。
可以通过以下方法之一找到属性路径。
从 XML 配置文件 (*.dtsconfig) 文件复制属性路径。 该路径列在该文件的 Configuration 部分中,作为 Path 属性的值。 下面是 MaximumErrorCount 属性的路径示例。
\Package.Properties[MaximumErrorCount]
运行 包配置向导 ,并从最终 完成向导 页复制属性路径。 随后可以取消该向导。验证 仅执行已签名的包
指示是否已检查包签名。 如果包未签名或签名无效,则包将失败。 此选项对应于/VerifySigned用于dtexec. 的选项。
验证包内部版本
指示是否根据在此选项旁边的 “内部版本” 框中输入的内部版本号,验证包的内部版本号。 如果出现不匹配,则将不执行包。 此选项对应于用于dtexec的/VerifyBuild选项。
验证包 ID
指示是否通过将包的 GUID 与此选项旁边的 “包 ID” 框中输入的包 ID 进行比较,对该 GUID 进行验证。 此选项对应于dtexec的/VerifyPackageID选项。
验证版本 ID
指示是否通过将包的版本 GUID 与此选项旁边的 “版本 ID” 框中输入的版本 ID 进行比较,对该版本 GUID 进行验证。 此选项对应于用于dtexec的/VerifyVersionID选项。命令行 修改 dtexec 的命令行选项。 有关这些选项的详细信息,请参阅 dtexec Utility。
提示:可以将命令行复制到命令提示符窗口,从命令行添加dtexec并运行包。 这是一种易于生成的命令行文本。
还原原始选项
使用在“作业集属性”对话框的“包”、“配置”、“命令文件”、“数据源”、“执行选项”、“日志记录”、“设置值”和“验证”选项卡上设置的命令行选项。
手动编辑命令
在“命令行”框中键入附加命令行选项。
单击“确定”保存对作业步骤所做的更改之前,可以通过单击“还原原始选项”来删除在命令行框中键入的所有附加选项。单击“ 确定 ”保存设置并关闭“ 新建作业步骤 ”对话框。
注释
对于存储在 “SSIS 目录” 中的包,如果有未解析的参数或连接管理器属性设置,则禁用 “确定” 按钮。 如果使用服务器环境变量中包含的值来设置参数或属性,并且满足以下条件之一,则会发生未解析的设置。
- 未选中 “配置” 选项卡上的 “环境” 复选框。
- 没有在 “配置” 选项卡上的列表框中选择包含变量的服务器环境。
若要为作业步骤创建计划,请单击“选择页面”窗格中的“计划”。 有关如何配置计划的信息,请参阅 Schedule a Job。
小窍门
为计划命名时,请考虑使用唯一的描述性名称,以便与其他 SQL Server 代理计划区分。