在建立与集成安全性的连接时,SSPI握手失败,错误代码为0x8009030c

13 sql-server sql-server-2005

尝试使用JDBC连接连接到SQL Server 2005时出现以下错误.

 Error: 17806, Severity: 20, State: 2.
 Logon       SSPI handshake failed with error code 0x8009030c while establishing 
             a connection with integrated security; the connection has been 
             closed. [CLIENT: 127.0.0.1]
 Logon       Error: 18452, Severity: 14, State: 1.
 Logon       Login failed for user ''. The user is not associated with a trusted 
             SQL Server connection. [CLIENT: 127.0.0.1]
Run Code Online (Sandbox Code Playgroud)

我的连接网址:

jdbc:sqlserver://LOCALHOST:1433;DatabaseName=master;integratedSecurity=true
Run Code Online (Sandbox Code Playgroud)

Jon*_*les 17

至少对我来说,这个问题的关键是与SQL Server的连接是通过环回接口(127.0.0.1)进行的.我有相同的症状,并在这篇博文中找到答案.

总结一下:发生了一次环回检查,导致通过环回适配器的可信连接失败.可以通过添加注册表项来删除此检查,如下所示:

  1. 使用regedit编辑注册表.(开始 - >运行... Regedit)
  2. 浏览到:HKLM\System\CurrentControlSet\Control\LSA
  3. 添加名为"DisableLoopbackCheck"的DWORD值
  4. 将此值设置为1

我做了这个改动后重新启动,但是你可能会发现这没有必要.在此注册表更改生效后,我可以通过环回适配器建立可信连接.

荣誉的黑鹰咨询博客的指着我对这个问题的正确方向.

  • 我在网络上有同样的错误.因此使用127.0.0.1并不是必需的. (2认同)

dec*_*tes 6

我也有这个问题,原因很简单:我的域用户的密码已过期,因此凭据已被撤销.

事实上,我还打开了SQL Management Studio,所以每隔2-3分钟就会产生这样的错误,直到我更改了域密码.


小智 0

与此 0x8009030c 代码有完全相同的消息。

就我而言,用户无法从网络访问 sql 计算机,并且我收到一条失败审核消息(我认为在其他情况下也会发生相同的消息)。

转至:本地安全策略 -> 安全设置 -> 本地策略 -> 用户权限分配 -> 从网络访问此计算机 -> 添加用户

它解决了问题