SSIS包从SSIS运行,但不从Job运行

时间:2013-07-03 14:12:10

标签: sql-server ssis

我已经构建了一个每天导入数据的SSIS Packaage。

我已经在BIDS中测试了它运行正常,我已经将它部署到SSIS服务器并且运行正常,但是当我安排它作为工作运行时它会出错。我得到以下错误。我已将srvSQLagent帐户添加到正确的组以访问导致问题的文件夹..我在这里错过了一些愚蠢的东西吗?

=============================================== ====================

日期03/07/2013 14:55:06 记录作业历史记录(导入SN2数据)

步骤ID 1 服务器STX-RPT 作业名称导入SN2数据 步骤名称运行导入包 持续时间00:00:09 Sql严重性0 Sql消息ID 0 运营商通过电子邮件发送 运营商网络发送 运营商Paged
重试尝试0

信息 以用户身份执行:INT \ srvSQLagent。 Microsoft(R)SQL Server执行包实用程序版本10.50.1600.1(适用于32位版权所有(C)Microsoft Corporation 2010.保留所有权利。
开始时间:14:55:06
错误:2013-07-03 14:55:15.69
代码:0xC001401E
来源:Servicenet数据导入连接管理器“已下载”
说明:连接中指定的文件名“\\ FILE \ Groups \ ISG \ England \ Servicenet Data \ Downloaded”无效。结束错误
错误:2013-07-03 14:55:15.69
代码:0xC0202070
来源:Servicenet数据导入连接管理器“已下载”
描述:文件名属性无效。文件名是设备或包含无效字符。结束错误
错误:2013-07-03 14:55:15.69
代码:0xC0029163
来源:文件系统任务文件系统任务
描述:连接“已下载”表示的文件或目录“\\ FILE \ Groups \ ISG \ England \ Servicenet Data \ Downloaded”不存在。结束错误
DTExec:包执行返回DTSER_FAILURE(1) 开始时间:14:55:06
完成时间:14:55:15
经过:9秒 包执行失败。
步骤失败了。

3 个答案:

答案 0 :(得分:0)

使用文件系统任务清除所有文件的文件夹时出现此问题。

我从来没有找到问题的根源,我只是找到了一种删除所需文件的不同方法。

答案 1 :(得分:0)

这绝对是文件夹权限问题。

请为每个人提供适当的权利。

Alpesh Dhori 软件专业人员

答案 2 :(得分:0)

我认为下一个解决方案可以帮助您:

假设我们需要写 \\ serv \ share \ dir1 .. \ dirN \ targetDir \ somefile.txt 使用SSIS通过SQL代理作业和非管理员代理帐户MyDomain \ TestAccount

1)MyDomain \ TestAccount需要读/写权限才能共享 \\ serv \ share

2)MyDomain \ TestAccount至少需要所有文件夹的FILE_READ_DATA权限(分享 dir1 ,.. dirN

3)MyDomain \ TestAccount需要文件夹 targetDir

的CHANGE权限+ FILE_DELETE_CHILD权限

(cacls应该显示以下权限:

DELETE
READ_CONTROL
SYNCHRONIZE
FILE_GENERIC_READ
FILE_GENERIC_WRITE
FILE_GENERIC_EXECUTE
FILE_READ_DATA
FILE_WRITE_DATA
FILE_APPEND_DATA
FILE_READ_EA
FILE_WRITE_EA
FILE_EXECUTE
FILE_DELETE_CHILD
FILE_READ_ATTRIBUTES
FILE_WRITE_ATTRIBUTES

当然 targetDir 的完整权利就足够了。

如果 targetDir 没有FILE_DELETE_CHILD权限,那么我们会在SSIS中看到平面文件连接的这种奇怪行为。用户MyDomain \ TestAccount可以使用标准Windows工具对文件 somefile.txt (读取,写入,删除)执行任何操作。但是SSIS Job无法覆盖此文件并失败。

相关问题