来自SSIS的文件系统任务在SQL Server代理中不起作用(无错误)

巴尔迪47

我有一个文件系统任务,在服务器之间执行一些ETL(移动一些.txt文件,将其复制到其他目录,重命名)。

在此处输入图片说明

当我从Visual Studio执行此程序包时,它运行良好,它将文件从一台服务器复制到另一台服务器,重命名并存档。但是,当我将其设置为要从SQL Server代理运行的作业时,它可以完成而没有错误,但是即使在同一服务器级别,它也不能处理任何文件(无副本,无重命名,无移动)。

  • 我对文件所在的文件夹的SQL Server代理服务名称具有完全的权限,必须将其放置。
  • 该程序包在X64和32位模式下运行,没有错误。
  • 程序包安全性设置为“ DontSaveSensitive”
  • Run64BitRuntime设置为“ true”

这是运行作业的历史记录日志:

以用户USERNAME的身份执行。Microsoft(R)SQL Server执行软件包实用程序版本12.0.2548.0,用于64位版权所有(C)Microsoft Corporation。版权所有。开始时间:下午3:08:56 DTExec:程序包执行返回DTSER_SUCCESS(0)。开始:3:08:56 PM完成:3:08:57 PM经过:0.688秒。包成功执行。步骤成功。

我用于软件包的路径均采用以下格式:

\\ServerName\directory\subDir

我的问题是,我怎么知道为什么文件系统任务实际上不起作用?

我不知道如何更详细地检查日志,以了解我在SQL Server代理上看到的内容,以了解实际发生的情况,并且如果这是权限问题,我认为应该会看到错误。我不确定此时发生了什么。请让我知道是否还有其他信息需要帮助。

编辑:我从我从VisualStudio(有效的一个)执行的内容以及从SQL Server代理调用该程序包时添加的日志文件。

我将替换服务器名称和用户名,但将显示它们在不同文件夹中的允许权限。

**MyUsername**  = Username when I run from visual studio
**ORIGIN**  =  Origin server from where I copy the files
**DESTINATION** =  Destination server where I put them and manipulate
**SqlServerAgent**  = ServerAgent name

当我从Visual Studio运行时,从计算机上记录文件(并且程序包对文件进行操作):

登录Pastebin(VisualStudio)

以及从SQL Server代理运行时的日志文件:

日志sql服务器代理

以及有关许可证的信息:

在此处输入图片说明

在此处输入图片说明

巴尔迪47

我发现了问题,不在参数中,还是不允许。问题在于,For Each循环指向的是映射的驱动器,而不是像其余文件夹一样指向完整的限定路径,因此For Each循环找不到任何东西。但是许可证还可以,只是没有找到任何东西。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章