sql server 作业中的 ssis 包出错

Posted

技术标签:

【中文标题】sql server 作业中的 ssis 包出错【英文标题】:error with ssis package in sql server job 【发布时间】:2019-11-05 05:31:14 【问题描述】:

帮助解决问题。有一个 ssis 包在 Visual Studio 中运行没有问题,但在 sql 任务中返回错误。工作中的数据包从sql server中取出数据,写入mysql。错误是这样的:

代表用户执行:DOMAIN\system。微软 (R) 适用于 64 位 (C) Microsoft Windows 的 SQL Server 版本 10.50.6000.34 (Microsoft Corporation),2010 软件包执行程序。所有权利 预订的。开始:19:53:23 错误:2019-06-22 19:53:24.10 代码: 0xC0208452 来源:数据流任务 ADO NET 目标 [1281] 说明:目标 ADO NET 无法建立 连接 5BC4C8B7-B5DD-45EF-AEF5 -66D296B28305。连接可能 被损坏。 错误结束错误:2019-06-22 19:53:24.10 代码: 0xC0047017 来源:数据流任务 SSIS.Pipeline 描述:错误 在检查组件“ADO NET Destination”(1281)时,错误代码 0xC0208452。错误结束错误:2019-06-22 19:53:24.10 代码: 0xC004700C 来源:SSIS.Pipeline 数据流任务描述:错误 检查一个或多个组件。错误结束错误:2019-06-22 19: 53:24.10 代码:0xC0024107 来源:数据流任务描述:错误 在检查任务时。错误 DTExec 结束:DTSER_FAILURE (1) 包已完成。开始:19:53:23 完成:19:53:24 通过:0.421 秒。包无法完成。步骤完成 错误。

提前谢谢你!

【问题讨论】:

有根据的猜测:VS 在 32 位模式下运行,SQL Server SSIS 尝试使用 64 位模式,并且源/目标数据库无法访问。请尝试在 SSISDB/SQL Server 代理作业上设置 32 位模式。 是的,安装使用32位环境值得 【参考方案1】:

一切都变得更简单了,有必要添加一个代理帐户,这一切都奏效了。感谢大家的帮助和回复!

【讨论】:

【参考方案2】:

当你选择 SSIS 包类型作为作业的步骤时,步骤>常规>配置中有一个 32 位运行时复选框,选中该复选框然后通过作业重新运行包。我认为这样更好您部署包并通过 ssis 目录将其作为 sql server 代理服务帐户运行。我希望这能解决问题。

【讨论】:

是的,复选框已启用..(【参考方案3】:

可能的错误原因:

    32/64 位冲突:确保您运行的模式与安装的 MySQL 驱动程序相关。尝试在 SQL 作业中以 32 位模式运行包:

    Running SSIS Packages in 32-bit

    连接凭据:如果您使用当前用户凭据连接 MySQL,请确保授予 SQL 服务用户建立连接的权限。

【讨论】:

是的,启用了使用32位模式,但错误仍然存​​在( @noanother 您是否尝试过第二个建议:授予 SQL 服务帐户或使用不同的凭据(用户)运行作业?

以上是关于sql server 作业中的 ssis 包出错的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 代理作业不执行 SSIS 包权限错误

从SQL Server代理作业步骤调用时,SSIS包不会运行

使用 ssis 包在 SQL Server 代理作业中找不到存储过程错误

SQL Server 代理作业和 SSIS 项目

SQL Server作业失败 - 帐户被锁定

SSIS部署:SQL Server部署中的SSIS包运行时错误