3

我已经使用 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 服务器的不同包时,它工作正常

4

1 回答 1

9

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

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

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

于 2013-10-21T16:30:28.123 回答