在开发盒上安装了 SQL Server 2016,并带有 SSIS。
拥有一个循环遍历目录并验证 XML 文件的包。
当在 SQL Server 上执行时,该作业可以通过 Integration Services 目录和 SQL Server 代理在 SQL Server 上正常运行。在本地开发人员的 PC 上也运行良好。
如果您通过 SSMS 远程连接到 SQL Server(同一用户)并尝试通过 Integration Services Catalog 执行包,则会出现问题,它会运行但无法循环遍历文件。它给出以下错误:ForEach 错误/警告
但是,当在 SQL Server 上或通过 SQL Server 代理执行时,该作业运行良好。仅当使用 SSMS 远程连接时,它才不会循环通过目录。使用相同的用户凭据。这适用于 SSIS 2012 /SQL Server 2012。
我已检查并调整 DCom 权限以启动和激活。这也没有影响。
知道为什么这在 SQL Server / SSIS 2016 上不起作用吗?
Thanks,
Patrick
Kerberos 双跳问题。如果您通过 RDP 进入计算机并通过 SSMS 连接到服务器,则它可以工作。相同的命令,但从计算机的 SSMS 到远程数据库,它会抛出有关找不到文件的错误/警告。
您从计算机向 SQL Server 提供凭据。这是一跳。然后,SQL Server 尝试向文件共享提供您的凭据,但运行 SQL Server 的帐户无权委派,因此无法访问该资源。
您需要让 DBA 与您的网络/Active Directory 管理员取得联系,并让管理员帐户受到信任。
![enter image description here](https://i.stack.imgur.com/qZMeF.jpg)
https://blogs.msdn.microsoft.com/autz_auth_stuff/2011/05/03/kerberos-delegation/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)