SSIS 错误:用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败

Posted

技术标签:

【中文标题】SSIS 错误:用户“NT AUTHORITY\\ANONYMOUS LOGON”登录失败【英文标题】:SSIS error: Login failed for user "NT AUTHORITY\ANONYMOUS LOGON"SSIS 错误:用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败 【发布时间】:2020-04-03 18:32:37 【问题描述】:

我们将 2012 SSIS 包转换为 2016 SSIS(TargetServerVersion = SQL Server 2016)。

SSIS 包读取的数据库之一是 SQL Server 2012 数据库。

使用 Native OLE DB\SQL Server Native Client 11.0 连接或使用 SQL Server 的 OLE DB 提供程序连接都会出现相同的错误。

Data Source=my2012SQLDBServer;Initial Catalog=my2012SQLDB;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;

Data Source=my2012SQLDBServer;Initial Catalog=my2012SQLDB;Provider=SQLOLEDB.1;Integrated Security=SSPI;Application Name=myApplicationName-....my2012SQLDBServer.my2012SQLDB;Auto Translate=False;

从 SSMS 运行 SSIS 包时(使用对 2012 数据库具有 dbOwner 权限的用户运行 SSMS,即 myDomain\myUser),我在从 2012 数据库读取表的步骤中遇到错误

Execute SQL Task: Error: Failed to acquire connection "my2012SQLDBServer.my2012SQLDB". 
Connection may not be configured correctly or you may not have the right permissions on this connection.
DTS_E_OLEDBERROR. An OLE DB error has occurred. Error Code:0x80040E4D. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" HResult:0x80040E4D 
Description: "Login failed for user "NT AUTHORITY\ANONYMOUS LOGON".

在 Visual Studio(使用 myDomain\myUser 运行)上,我能够成功运行 SSIS 包。

myDomain\myUser 在 SSISDB 数据库中还具有 ssis_admin、ssis_logreader、db_owner、app_dbowner 角色。

我该如何解决这个错误? 谢谢。

【问题讨论】:

尝试使用 OLEDB Provider 而不是 Native Client。看看这是否有效。 您好,我尝试使用 OLEDB Provider 而不是 Native 客户端,得到了同样的错误。我已经用它更新了我的原始帖子。 此错误与 sa SQL Server 登录无关。它的非个人帐户。一个 SSIS 项目有两个帐户。转到配置管理并为此服务设置帐户。这个是你设置的吗? 【参考方案1】:

这是双跳问题的典型错误。 最简单的解决方案是使用远程桌面登录到 SSIS 服务器,然后在那里使用 SSMS 运行它。 其他选项是在 SSIS 服务器上定义 SQL 代理作业,然后使用此作业运行包。 最终的解决方案是配置 Kerberos 并允许在 SSIS 机器上进行双跳连接。

您可以查看以下帖子如何配置 Kerberos:SSIS job fails when run remotely thru ssms, but runs fine on SQL Server

【讨论】:

当用户通过SSMS运行ssis包时,你能解释一下什么是hop 1和hop 2吗? 第 1 跳:SSMS -> SSIS,第 2 跳:SSIS 试图连接到任何网络资源。 SSMS->SSIS 在同一台机器上怎么变成一跳? 问题没有具体说明,我的假设是它是一台不同的机器,这是最常见的情况。

以上是关于SSIS 错误:用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败的主要内容,如果未能解决你的问题,请参考以下文章

在 SSIS 执行 SQL 任务中捕获错误行

SSIS部署报6522错误问题解决

故障转移群集服务器上来自 SSIS 的“RPC 服务器不可用”错误

通过SSIS将文件导出到sharepoint(UNC) - 拒绝访问

sql server 作业中的 ssis 包出错

SSIS 包中的 C# 脚本在 SQL Server 表的数据执行过程中挂起,没有明确的错误消息