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