2017-06-20 71 views
1

在具有SSIS的开发箱上安装了SQL Server 2016。
有一个包循环通过一个目录并验证XML文件。SSIS作业在通过ssms远程运行时失败,但在SQL Server上运行正常

作业在集成服务目录和SQL Server代理上在SQL Server上正常运行,在那里执行。在当地的开发者个人电脑上运行良好。

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

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

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

任何想法为什么这不适用于SQL Server/SSIS 2016?

感谢,

帕特里克

+0

'有环通一directory'可能是包目录包时远程运行不可 – TheGameiswar

+0

目录是可用的,从SQL Server或运行包时SQL代理作业。并且目录 – Patrick

回答

0

Kerberos双跳问题。如果您将RDP装入机器并通过SSMS连接到服务器,则可以使用。同样的命令,但从计算机的SSMS到远程数据库,它会抛出关于找不到文件的错误/警告。

您从您的计算机向SQL Server呈现凭据。这是一跳。 SQL Server然后尝试将您的凭据显示给文件共享,并且运行SQL Server的帐户未授权进行委派,因此无法访问该资源。

您需要让您的DBA与您的网络/活动目录管理员一起获得并且拥有可信的管理员帐户。

enter image description here

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

+0

这是问题所在,新服务器使用本地帐户,而不是受信任的域帐户。谢谢! – Patrick

0

请尽量使用目录UNC路径(\服务器\文件夹),如果尚未使用。

+0

中已有文件。该软件包可以在Visual Studio中的Developers Desktop中正常运行,或者在SQL Server上正常运行。但是当通过SSMS访问时,它会失败(优雅地说,都是这样)来使用路径。我检查了服务器,没有得到任何认证错误的服务器上的Directy是或SQL Server上。它只是表现为目录中没有文件。 – Patrick

相关问题