1

我有一个非常基本的 SSIS 包,它试图读取共享上托管的文件,并将其内容导入数据库表。当我在 SSIS 中手动运行该包时,它运行良好。但是,当我设置 SQL 代理作业并尝试执行它时,我收到以下错误:

以用户身份执行:DOMAIN\UserName。适用于 64 位的 Microsoft (R) SQL Server 执行包实用程序版本 9.00.3042.00 版权所有 (C) Microsoft Corp 1984-2005。版权所有。
开始时间:上午 10:14:17 错误:2010-05-03 10:14:17.75 代码:0xC001401E 源:DataImport 连接管理器“本地数据文件”
描述:文件名“\10.1.1.159\llpf\datafile.dat”连接中指定的无效。结束错误错误:2010-05-03 10:14:17.75 代码:0xC001401D
来源:DataAnimalImport
说明:连接“本地数据文件”验证失败。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:上午 10:14:17 结束时间:上午 10:14:17 经过时间:0.594 秒。包执行失败。步骤失败。

这让我相信这是一个权限问题,但我为修复它所做的每一次尝试都失败了。

到目前为止我已经尝试过:

  • 作为 SQL 代理帐户 (DOMAIN\SqlAgent) 运行 - 产生相同的错误。DOMAIN\SqlAgent 对共享和上传的文件都具有“完全控制”权限。

  • 使用不同帐户的凭据 (DOMAIN\Account) 设置代理帐户 - 产生相同的错误。像上面一样,“完全控制”权限被授予对该帐户的共享。

  • 授予“所有人”对共享的完全控制权限(暂时!)。产生同样的错误。

  • 手动将文件复制到本地路径并使用 SQL 代理帐户进行测试。工作正常。

  • 添加了一个 ActiveX 脚本任务,该任务首先将远程托管的文件复制到本地路径,然后让 DTS 包引用本地文件。尝试运行脚本时出现完全非描述性(即使按照 SSIS 标准)错误。

  • 使用我自己的个人帐户凭据设置代理帐户 - 工作正常。但是,这不是一个可接受的解决方案,因为我的帐户上有密码策略,而且通常以这种方式设置是一种不好的做法。

有任何想法吗?我仍然相信这是一个权限问题。但是,我从各种搜索中或多或少地读到的内容表明,授予执行帐户对共享的权限应该是可行的。但是,这里不是这种情况(除非我在设置共享权限时遗漏了一些模糊的东西)。

4

3 回答 3

2

根据您上次的测试,这显然与权限有关,并且您的帐户所拥有的权限与其他帐户所拥有的权限之间存在差异。包裹的防护等级是多少?

于 2010-05-03T15:29:39.673 回答
0

哎呀。看起来我在文件夹上设置了权限,但在共享上没有。一旦将权限放在共享上,就开始工作。我的错。

于 2010-05-03T20:06:40.050 回答
0

我知道这篇文章很旧,但我只是遇到了同样的问题,我认为你们正在使用“sa”用户,它对保存包的文件夹没有权限,尝试使用 Windows 身份验证登录 SQL,然后尝试然后导入包。

为我工作,希望它对你有用。

于 2013-06-13T14:50:04.130 回答