2017-02-15 58 views
1

运行SSIS包以删除具有脚本任务(c#File.Delete)文件的作业之一以奇怪的方式下面。任何人都可以帮助我们理解它的原因吗?尝试删除文件时SQL Server代理作业 - SSIS - C# - “访问被拒绝”

下面是基本条件:
1. SQL Server代理服务的登录帐户:DomainA中\ AAA
2.业主的工作的:DomainA中\ AAA
3. DomainA中\ AAA是本地“Administrators成员“组

我们发现了奇怪的是:
作业失败,并提示‘访问路径E:\ XXXX \ pp.csv拒绝’当完全控制访问只给出了‘管理员’Windows组和成功当完全控制访问被直接授予“DomainA \ AAA”窗口用户时。

上面的错误消息之前,它说“该步骤被执行为:DomainA \ AAA”。

版本信息:
的SQL Server 2008 SP2(10.0.4000)
的Windows 2003 R2 SP2 x64的

注:以上
1.英语消息从我们的语言我自己的翻译,它不会准确地等于英文版的。
2. SSIS包简化为只有一个脚本任务用于测试。

+0

这是否说明访问被拒绝的原因?我通常会看到,当我打开文件时。您的程序是否以管理员身份运行? –

+0

感谢您的快速回复。该作业由DomainA \ AAA运行,它是“Administartors”组的成员。您能否告诉我们直接向用户授予“完全控制”访问权限与用户所属的组之间有什么区别? – yobioo

回答

1

试试这个博客来获得关于这个目录和文件的权限的信息。希望这段代码能帮助你找出你需要为这个用户分配哪些权限。 http://craigot.blogspot.com/2012/09/ssis-checking-filefolder-permissions.html

+0

谢谢Shuvankar,我试过代码,结果是“System.UnauthorizedAccessException:用户(代理服务登录帐户)没有从文件夹E:\ XXX中读取数据的权限,尽管帐户是管理员和管理员的成员完全控制访问文件夹。实际上,在我将用户自己完全控制访问权限授予文件夹之后,它确实成功了。由于代理作业至少可以读取文件夹中的文件,因此很难理解。 – yobioo

2

您可以检查文件夹上的天气,您已授予管理员组的所有权限(读取和写入)。如果这不起作用,请更改文件夹并尝试一次。

+0

是的,我已授予管理员组的完全控制权限,但它不起作用,但是一旦我将完全控制权限授予用户本身,它就可以工作。 – yobioo

相关问题