【问题标题】:Package that runs perfect on SSIS, but fails on SQL - server job activity在 SSIS 上运行完美但在 SQL 服务器作业活动上失败的包
【发布时间】:2016-08-08 10:53:01
【问题描述】:

我想知道您是否可以帮助我,最近几天我遇到了一个我无法解决的问题......当我运行一个包时出现这些错误,它在 SSIS 上运行完美,在 SQL 上 -服务器作业活动:

错误:任务验证期间出现错误

错误:.. 验证失败并返回错误代码 0xC0208449

错误:一个或多个组件验证失败

ADO NET 源未能获取连接 {...},并显示以下错误消息“HRESULT 异常:0x80131937

一些附加信息:

  • 我使用的是项目部署模式

  • 我的Sql server版本是2014

  • 我在 SSIS 中的保护级别在项目和包中都是DontSaveSensitives,但我认为无论如何部署都没有关系。

  • 我收到这个关于在 SSIS 上运行但不是在 SQL 服务器作业活动上运行的错误的包

【问题讨论】:

  • 如果不知道这个包做什么/它试图访问哪些资源,就很难判断。
  • 您是否在 SQL 代理用户的上下文中运行 SQL 作业?您的任务用户很可能没有访问您尝试使用的连接/资源的权限。
  • 包资源是MySQL。如何查看 Task 用户?
  • 这通常是由会话引起的。在 SSIS 调试模式下,您可以使用您的 Windows 帐户启动包。但是,当包部署到 SQL Server 代理时,它将使用作业的所有者帐户执行。因此,您需要确保该作业所有者的连接仍然有效。
  • 在“作业步骤属性”对话框窗口中选择了任务用户 - 输入标记为“运行为:”(从顶部开始的第三个输入)。

标签: sql-server ssis etl


【解决方案1】:

在 Sql Agent Job 中运行时,您的包无法获取连接。首先检查您的包/作业连接,并确保它们已正确部署。

然后通过使用 Sql Server 用户/密码帐户测试包来排除访问权限问题。如果它以这种方式工作,那么您很可能需要使用 Sql Server 代理帐户。

如果您仍然无法访问,请检查您正在运行作业的计算机与您的数据所在的计算机(地址、端口和实例,..)之间的连接。还要确保所有涉及的机器都可以在 Sql Server 配置管理器中使用相同的传输(命名管道、tcp、...)。

【讨论】:

  • 谢谢!该问题是由 SSIS 和 SQL-server 的两种不同配置引起的,一种是 32 位,另一种是 64 位。所以在 SQL 服务器上的 Job 步骤中,我必须选中 32 位运行时框
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-05
  • 1970-01-01
相关资源
最近更新 更多