SQL Server代理 - 不受信任的域消息

时间:2017-09-29 22:31:24

标签: sql-server authentication ssis

运行SQL Server 2016.目前有一个托管在一个域中的解决方案,当然我们的访问点在另一个域中。我们需要以自动方式提取数据。

我们在凭据管理器中添加了一个Windows凭据,用于收集端点信息和一组凭据。

e.g。

  • Internet或Networkaddress:mydatabase.remotedomain.com
  • 用户名:remotedomain \ username
  • 密码:密码

此解决方案适用于许多工具,Excel,SSMS直接查询,Visual Studio。用户输入端点(服务器URL或IP /端口)并使用Windows集成安全性。建立连接,凭证存储完成技巧,用户通过身份验证。

SSMS示例

  • 服务器名称:mydatabase.remotedomain.com
  • 身份验证:Windows身份验证

我的挑战是SSIS和SQL Agent。 SSIS包在VS2015中运行。将包部署到Integration Services目录 - 突出显示包并执行并运行。

创建一个SQL Server代理作业并执行该作业,我收到了这份礼物.....

  

登录失败:登录来自不受信任的域,不能与Windows身份验证一起使用

我创建了一个SQL凭证,创建了一个代理(SSIS包执行),创建了一个使用Credential运行方式的作业,但结果却相同。凭证必须在我的本地域或作业不会运行....当然localdomain \ username不会对远程数据连接进行身份验证。因此代理无助于这种情况。

我所期待的是,Windows凭据管理器会像手动运行作业时那样交换凭据,或者通过excel或其他任何方式交换凭证......

3 个答案:

答案 0 :(得分:1)

我向微软开了一张票,并与他们的一个高级资源合作。

这似乎是SQL Agent中的一个错误。没有任何已知的原因或问题阻止SQL代理从Windows凭据存储中获取远程凭据,但事实并非如此。

一种可行的替代方法是使用命令行实用程序DTEXEC。对SSIS项目稍作修改,以确保所有连接管理器都处于程序包级别而不是项目(创建引用问题)。

这个解决方案并不理想,但它起作用,DTEXEC允许SSIS在商店中提取所需的凭证并执行而不会出现问题。

一旦微软完成他们的研究并回到我身边,我会跟进,机票仍然是开放的。

答案 1 :(得分:0)

您的窗口凭据帐户应该是AD用户帐户,该帐户位于具有全局或通用范围的组中。在拥有多个域的情况下,通用组很有用。

该进程将在其调用的任何上下文中执行(即由您,SQL代理或代理帐户执行)。它不会改变可执行上下文,因为它调用不同的进程,除非你务实地创建它,这无论如何都是坏主意......

有类似的问题,解决这个噩梦!在此过程中学到了很多有趣的AD配置技巧。

Understanding User and Group Accounts声明如下:

组可以有不同的范围 - 域本地,内置本地,全局和通用。也就是说,这些组具有不同的有效区域。

全球小组:

用于向域树或林中的任何域中的对象授予权限的组。全局组的成员只能包含定义它们的域中的帐户和组。

通用群组:

用于在整个域树或林中广泛授予权限的组。全局组的成员包括域树或林中任何域的帐户和组。

修改

如果只是从一个域到另一个域的数据拉取,可以先将数据导出到不受信任的域中的csv,然后将SFTP导入到ETL的TL(转换和加载)环境中(提取 - 转换 - 加载)过程可以发生吗?

SSIS将是一个很好的工具,但也可以使用C#和Powershell。

答案 2 :(得分:0)

很抱歉,将本地AD帐户的群组更改为Global或Universal不会产生任何影响。我对在使用SQL Agent的本地帐户上进行更改会有什么不同感到有点迷茫。该解决方案适用于所有工具,通过本地帐户替换以及Credential Manager中的远程帐户设置。如果我错过了,并且要进行此更改,请尽可能提供设置示例。

同样,SQL Server Agent似乎没有执行/遵循此过程,因为它可以在其他地方工作,但不能在代理执行的作业中工作。

所以我希望有人之前已经看过这样的事情并且有解决方案。

我的最终目标是自动从没有信任的远程SQL服务器中提取数据。我希望代理解决方案能够正常工作,但是当您将凭据设置为远程域\用户名时,该作业甚至不会执行。

有没有办法在SSIS包中设置我的连接,以明确地将凭据设置为远程域\ username \ pwd。我对此进行了一次刺杀,但也无法让它飞起来。如果是这样,一个例子对我来说是无价的。

我不在乎我如何到达球门线,只需要...感谢所有人的帮助