来自 SSIS 的文件系统任务在 SQL 服务器代理中不工作(没有错误)
File System Task from SSIS not working in SQL Server Agent (no errors)
我有一个文件系统任务,它在服务器之间执行一些 ETL(移动一些 .txt 文件、复制到其他目录、重命名)。
当我从 Visual Studio 执行此程序包时,它运行良好,它将文件从一台服务器复制到另一台服务器、重命名和存档。
但是当我从 SQL Server Agent 将它设置为 运行 时,它完成时没有错误,但它不对任何文件进行操作,(没有复制,没有重命名,没有移动)不是即使在同一服务器级别。
- 我已授予 SQL 服务器代理服务名称的完全权限
文件所在的文件夹,必须放置。
- 包 运行s 在 X64 和 32 位模式下没有错误。
- 包安全设置为"DontSaveSensitive"
- Run64BitRuntime 设置为 "true"
这是 运行 作业的历史日志:
Executed as user: USERNAME. Microsoft (R) SQL Server Execute Package
Utility Version 12.0.2548.0 for 64-bit Copyright (C) Microsoft
Corporation. All rights reserved. Started: 3:08:56 PM DTExec: The
package execution returned DTSER_SUCCESS (0). Started: 3:08:56 PM
Finished: 3:08:57 PM Elapsed: 0.688 seconds. The package executed
successfully. The step succeeded.
我使用的包路径都是这样的格式:
\ServerName\directory\subDir
我的问题是,我怎么知道为什么文件系统任务实际上没有工作?
我不知道如何检查比我在 SQL Server Agent 上看到的更详细的日志,以了解实际发生的情况,如果是权限问题,我相信我应该看到错误.我不确定此时发生了什么。
如果我需要添加更多信息来帮助您,请告诉我。
编辑:我正在从我从 VisualStudio(有效的那个)执行的文件中添加日志文件,当从 SQL 服务器代理调用包时。
我将替换服务器名称和用户名,但我将展示它们对不同文件夹的许可。
**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 运行 时从我的计算机记录文件(并且程序包使用这些文件运行):
Log in Pastebin (VisualStudio)
以及我 运行 来自 SQL 服务器代理时的日志文件:
以及有关许可证的信息:
我发现问题不在参数中,也不在允许范围内。
问题是 For Each Loop 指向一个映射的驱动器,而不是像其他文件夹那样的完整路径,因此 For Each Loop 没有找到任何东西。
但是许可证还可以,只是什么也没找到。
我有一个文件系统任务,它在服务器之间执行一些 ETL(移动一些 .txt 文件、复制到其他目录、重命名)。
当我从 Visual Studio 执行此程序包时,它运行良好,它将文件从一台服务器复制到另一台服务器、重命名和存档。 但是当我从 SQL Server Agent 将它设置为 运行 时,它完成时没有错误,但它不对任何文件进行操作,(没有复制,没有重命名,没有移动)不是即使在同一服务器级别。
- 我已授予 SQL 服务器代理服务名称的完全权限 文件所在的文件夹,必须放置。
- 包 运行s 在 X64 和 32 位模式下没有错误。
- 包安全设置为"DontSaveSensitive"
- Run64BitRuntime 设置为 "true"
这是 运行 作业的历史日志:
Executed as user: USERNAME. Microsoft (R) SQL Server Execute Package Utility Version 12.0.2548.0 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved. Started: 3:08:56 PM DTExec: The package execution returned DTSER_SUCCESS (0). Started: 3:08:56 PM Finished: 3:08:57 PM Elapsed: 0.688 seconds. The package executed successfully. The step succeeded.
我使用的包路径都是这样的格式:
\ServerName\directory\subDir
我的问题是,我怎么知道为什么文件系统任务实际上没有工作?
我不知道如何检查比我在 SQL Server Agent 上看到的更详细的日志,以了解实际发生的情况,如果是权限问题,我相信我应该看到错误.我不确定此时发生了什么。 如果我需要添加更多信息来帮助您,请告诉我。
编辑:我正在从我从 VisualStudio(有效的那个)执行的文件中添加日志文件,当从 SQL 服务器代理调用包时。
我将替换服务器名称和用户名,但我将展示它们对不同文件夹的许可。
**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 运行 时从我的计算机记录文件(并且程序包使用这些文件运行):
Log in Pastebin (VisualStudio)
以及我 运行 来自 SQL 服务器代理时的日志文件:
以及有关许可证的信息:
我发现问题不在参数中,也不在允许范围内。 问题是 For Each Loop 指向一个映射的驱动器,而不是像其他文件夹那样的完整路径,因此 For Each Loop 没有找到任何东西。 但是许可证还可以,只是什么也没找到。