当 运行 远程通过 ssms 时,SSIS 作业失败,但 运行 在 SQL 服务器上正常

SSIS job fails when run remotely thru ssms, but runs fine on SQL Server

已使用 SSIS 在开发箱上安装 SQL Server 2016。
有一个循环遍历目录并验证 XML 文件的包。

作业在 SQL 服务器上从集成服务目录和 SQL 服务器代理上运行良好,当在那里执行时。在本地开发人员 PC 上也运行良好。

如果您通过 SSMS 远程连接到 SQL 服务器(同一用户)并尝试通过 Integration Services Catalog 执行程序包,它会运行但无法遍历文件,就会出现此问题。它给出了以下错误: ForEach Error/Warning

但是当在 SQL 服务器上或通过 SQL 服务器代理执行时,作业运行良好。仅当使用 SSMS 远程连接时,它才不会在目录中循环。使用相同的用户凭据。这适用于 SSIS 2012 /SQL Server 2012。

我已检查并调整 DCom 权限以启动和激活。这也没有影响。

知道为什么这不适用于 SQL Server / SSIS 2016 吗?

谢谢,

帕特里克

如果目录尚未使用,请尝试使用 UNC 路径 (\ServerName\FolderName)。

Kerberos 双跃点问题。如果您将 RDP 连接到机器并通过那里的 SSMS 连接到服务器,它就可以工作。相同的命令,但从您计算机的 SSMS 到远程数据库,它抛出 error/warning 关于找不到文件。

您从您的计算机向 SQL 服务器出示您的凭据。那是一跳。 SQL 服务器然后尝试将您的凭据提供给文件共享和运行的帐户 SQL 服务器未获得委派授权,因此无法访问该资源。

您需要让您的 DBA 与您的 Network/Active 目录管理员联系并信任管理员帐户。

https://blogs.msdn.microsoft.com/autz_auth_stuff/2011/05/03/kerberos-delegation/