SQL 作业成功完成但不执行包

SQL Job completes successfully but does not execute packages

我看过几篇文章,包括这个未回答的问题:SQL Server Job runs successfully but doesn't execute packages

我在使用集成服务 MSDB 目录的 SQL Server 2012 中遇到了完全相同的问题。我可以从该目录手动执行 SSIS 包,但代理作业除了声明它已成功完成外什么都不做。我还从 Visual Studio 中执行了我的 SSIS 包,它们工作得很好。这是情况,我想知道是否可能是权限问题:

  1. SSIS 包在网络位置查找 Excel 个符合条件的文件。
  2. 一旦找到,SSIS 将数据打包写入数据库并将文件存档到同一网络位置上的另一个文件夹。
  3. 在将数据导入数据库或迁移到存档文件夹失败时发送电子邮件。

我有 SQL 代理作业 运行 使用 SQL 服务器代理服务帐户从包存储 (MSDB) 将 SSIS 包连接到 运行。目前我们没有对这些服务器进行任何类型的项目部署,所以我坚持使用包部署。以下是我采取的一些步骤:

  1. 运行 从 Visual Studio 2010 年手动打包(完全成功)。
  2. 运行 从 SQL 服务器 MSDB 目录手动打包(完全成功)。
  3. 运行 从 SQL 服务器代理手动作业,使用父包作为将执行子包作为外部引用的步骤(成功但没有任何反应)。
  4. 运行 从 SQL 服务器代理手动作业,使用每个包作为其自己的步骤,不包括父包(成功但没有任何反应)。

有什么想法吗?网络位置权限或需要代理?同样,我正在 运行ning Microsoft SQL Server 2012 企业版 64 位。非常感谢您提供的任何帮助。

找到问题了。我的 SSIS 包有一个 foreach 循环容器,虽然循环容器内的任务无法访问目的地,但循环容器在技术上已成功完成。我们必须向 运行 下的步骤授予帐户权限,才能更正该作业。这些权限被放置在网络位置上,以允许该帐户访问读取和写入该位置。此外,我的 Excel 连接是 64 位的,因此我们将其启用为 32 位运行时,这使得该部分过程能够成功完成。我 re-enabled 任何禁用的任务,现在看起来不错。谢谢!

我也遇到过很多次这种情况,但是当我手动检查 运行 包时,它成功完成了,因为我对每个循环容器和序列容器都使用了 well.In 这两种情况循环和序列在没有验证其他 ones.So 的情况下完成我检查了优先约束并更改它,现在它工作并且所有组件 运行 成功。 有时我们会错过选择适当的优先约束,有很多选项,如成功、失败、完成,然后您可以从约束、表达式、表达式和约束以及表达式或约束中选择值。 最初我使用 Expression OR Constraint 获得成功,现在将其更改为 Expression AND Constraint,它对我来说工作正常。 你也需要这样做,它一定会起作用请尝试让我知道。