使用SSIS在开发框中安装SQL Server 2016 有一个通过目录循环并验证XML文件的包。
当在那里执行时,作业在Integration Services目录和SQL Server代理上运行正常。在本地开发商PC中也运行良好。
如果您通过SSMS远程连接到SQL Server(相同用户)并尝试通过Integration Services目录执行该程序包,则会出现此问题,它会运行但无法循环通过文件。它给出以下错误: ForEach Error/Warning
但是当在SQL Server上执行或通过SQL Server代理执行时,作业运行正常。只有在远程使用SSMS连接时才会通过目录进行循环。使用相同的用户凭据。这适用于SSIS 2012 / SQL Server 2012.
我已检查并调整DCom权限以启动和激活。这也没有影响。
为什么这不适用于SQL Server / SSIS 2016的任何想法?
谢谢,
帕特里克
答案 0 :(得分:1)
Kerberos双跃点问题。如果您在机器上进行RDP并通过SSMS连接到服务器,它就可以工作。相同的命令,但是从您的计算机的SSMS到远程数据库,它会抛出没有找到文件的错误/警告。
您可以从计算机向SQL Server提供凭据。那是一跳。然后SQL Server尝试将您的凭据提供给文件共享,并且运行SQL Server的帐户未被授权进行委派,因此无法访问该资源。
您需要让您的DBA与您的网络/ Active Directory管理员联系,并让管理员帐户受信任。
https://blogs.msdn.microsoft.com/autz_auth_stuff/2011/05/03/kerberos-delegation/
答案 1 :(得分:0)
Please try using UNC path (\ServerName\FolderName) for the directory if not already used.