【问题标题】:Run ssis package in agent job while both are on separate machines在代理作业中运行 ssis 包,而两者都在不同的机器上
【发布时间】:2020-01-23 07:06:32
【问题描述】:

我正在尝试通过代理作业运行 ssis 包。包和 sql 服务器在不同的机器上。 当代理作业尝试运行 ssis 包步骤时,作业失败并出现以下错误:

以用户身份执行:域\用户名。微软 (R) SQL 64 位服务器执行包实用程序版本 13.0.5026.0 版权所有 (C) 2016 微软。版权所有。开始: 上午 1:42:42 错误:2020-01-23 01:42:42.49 代码:0xC0011007
来源:{07BB41B6-D0DF-4349-B9AE-498397D214D7} 描述: 无法将包作为 XML 加载,因为包没有 有效的 XML 格式。将发布特定的 XML 解析器错误。结尾 错误错误:2020-01-23 01:42:42.49 代码:0xC0011002 来源: {07BB41B6-D0DF-4349-B9AE-498397D214D7} 描述:未能 打开包文件 "D:\ssis_packages\package.dtsx" 由于错误 0x80070003“系统找不到指定的路径。”。 当加载一个包并且文件无法打开或 正确加载到 XML 文档中。这可能是由于 在调用 LoadPackage 或 指定的 XML 文件格式不正确。结束错误无法加载 包裹 "D:\ssis_packages\package.dtsx" 因为错误 0xC0011002。说明:打开包文件失败 “D:\ssis_packages\CoreLogic\CoreLogicSSIS\Real_Estate_Monthly.dtsx” 由于错误 0x80070003“系统找不到指定的路径。”。 当加载一个包并且文件无法打开或 正确加载到 XML 文档中。这可能是由于 在调用 LoadPackage 或 指定的 XML 文件格式不正确。来源: {07BB41B6-D0DF-4349-B9AE-498397D214D7} 开始时间:凌晨 1 点 42 分 42 秒 完成时间:凌晨 1:42:42 已用时间:0.047 秒。包裹不能 被发现。步骤失败。

我需要一些建议,因为当 sql server 和包位于不同的机器上时,运行 ssis 包的最佳方式是什么。

【问题讨论】:

  • 在一台机器上使用 SSIS 执行 SQL 作业并在不同机器上执行目标 SQL 数据库没有问题!但是让我确认一下,您是在将要发布的软件包从一台机器复制到另一台机器吗???
  • 软件包保留在它们被开发的地方,并由代理作业从文件系统中挑选出来。
  • SSIS 开发使用了什么 SSDT 版本?
  • 我在 Visual Studio 2017 上使用 ssdt 版本 15.9.18
  • 我同意下面@user8976869 提到的答案。主要是因为您的 SQL-Agent 用户没有您的 SSIS 包路径访问权限!

标签: sql-server ssis sql-server-2016 sql-agent-job


【解决方案1】:

可能有以下定义的原因和解决方案。

1. 错误提示为cannot find the package。只需仔细检查这是否是您的包裹的正确路径:

D:\ssis_packages\CoreLogic\CoreLogicSSIS\Real_Estate_Monthly.dtsx

2.它看起来像一个本地路径,所以如果你的包确实在另一个服务器的D: Drive 上,请确保在路径前添加服务器名称:

//服务器名称/d$/ ssis_packages\CoreLogic\CoreLogicSSIS\Real_Estate_Monthly.dtsx

3. 授予运行您的 SQL 代理作业的帐户(我猜它是 SQL 代理帐户,但您应该仔细检查)访问存储 SSIS 包的文件夹的权限。

4. 如果上述方法没有解决问题,还要检查 SSIS 包和您在运行它的服务器上安装的 SSIS 是否相同。在 64 位系统/SSIS 上运行 32 位 SSIS 包将导致类似的错误消息。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多