SSIS包在服务器上运行,但不作为预定作业运行(SQL代理)

时间:2013-10-21 16:23:37

标签: sql sql-server ssis

我已使用SQL Server代理作业安排了我的SSIS包。如果我右键单击包并选择执行,它会成功运行。但是,当我设置作业并尝试运行它时,我会收到与用户登录相关的错误。我正在阅读代理用户和其他选项,但似乎没有用。

错误:

FullSnapshot:错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E4D。 OLE DB记录可用。来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80040E4D描述:“用户'DOMAIN \ SERVER $'登录失败。”。

服务器是“SERVER”,包正在将来自其他服务器的数据写入“SERVER”。

可能导致此错误的原因是什么?请提出你的建议。如果您需要更多相关信息,请与我们联系。

提前致谢


我想问题是如何为SERVER上的SQL Server代理的服务帐户授予访问第二台服务器的权限。因为当我运行不需要访问外部SQL服务器的不同包时,它可以正常工作

1 个答案:

答案 0 :(得分:7)

右键单击并执行包后,使用您的凭据执行。当它从服务器执行时,它正在使用SQL Server代理的服务帐户。在这种情况下,您的代理服务似乎是一个自动生成的系统帐户,无法访问程序包所需的所有内容。

您必须设置代理用户,或更改代理服务帐户。

来自快速Google搜索的链接可以提供一个很好的演练:http://www.mssqltips.com/sqlservertip/2163/running-a-ssis-package-from-sql-server-agent-using-a-proxy-account/