错误 0x80070005 访问被拒绝

Error 0x80070005 Access is denied

我有一个 SQL Agent Job 叫:Agent1

它调用一个 SSIS 包:C:\SSISPackage\ssispackage.dtsx

我得到的错误如下:

Error 0x80070005 Access is denied.

执行包的 Windows 用户显然无权访问: C:\SSISPackage\ssispackage.dtsx

我如何找出 Windows 用户是 运行 这个包裹?

当您阅读源代码时,您会发现 SQL Agent 需要高级别的本地访问权限。

绝对应该有一个域帐户(如果在域中),并限制网络资源。不是域管理员。可能不是本地管理员 - 但是,通常选择它是为了便于使用。最好 'hand craft' 一个具有适当类型权限的帐户,以便代理完成其工作。如果作业需要访问资源,那么代理将需要这些权限,或者您将设置一个代理代理帐户。希望这些帮助。

配置-服务帐户,SQL服务器或SQL服务器代理服务帐户 http://support.microsoft.com/kb/283811/en-us http://msdn2.microsoft.com/en-us/library/ms143691.aspx

配置 - 服务帐户,为 SQL 服务器代理服务选择一个帐户 http://msdn2.microsoft.com/en-us/library/ms191543.aspx http://support.microsoft.com/kb/907557

另请查看以下文章。我认为这会解决你的问题。

How to schedule SSIS package to run as something other than SQL Agent Service Account

https://msdn.microsoft.com/en-us/library/ms186264.aspx

https://msdn.microsoft.com/en-us/library/ms191543.aspx

我通过在“服务”中查找找到了用户,即右键单击“我的电脑”,然后单击“管理”,然后单击“服务”。有一个 SQL 服务器服务是 运行 作为 windows 用户。那就是我要找的 windows 用户。

我知道这个问题很老了,但我的解决方案不同, 日志中的问题是访问程序缓存目录 C:\ProgramData\Package Cache

Error 0x80070005: Failed to secure cache path: C:\ProgramData\Package Cache\

所以我更改了管理员的权限以获得对其的完全访问权限并重新启动了安装过程,并且成功了。