尝试使用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]
我的连接网址:
jdbc:sqlserver://LOCALHOST:1433;DatabaseName=master;integratedSecurity=true
答案 0 :(得分:17)
至少对我来说,这个问题的关键是与SQL Server的连接是通过环回接口(127.0.0.1)进行的。我有相同的症状,并在this blog post找到答案。
总结:发生了一次环回检查,导致通过环回适配器的可信连接失败。可以通过添加注册表项来删除此检查,如下所示:
我做了这个改动后重新启动,但是你可能会发现这没有必要。在此注册表更改生效后,我可以通过环回适配器建立可信连接。
向Blackhawk Consulting Blog致敬,指出我在这个问题上的正确方向。
答案 1 :(得分:6)
我也有这个问题,原因很简单:我的域用户密码已过期,因此凭据已被撤销。
实际上,我还打开了SQL Management Studio,因此每隔2-3分钟就会产生一次错误,直到我更改了域密码。
答案 2 :(得分:0)
与此0x8009030c代码有完全相同的消息。
在我的情况下,用户无法从网络访问sql计算机,并且我有一条失败的审核消息表明(我认为在其他情况下也会发生相同的消息)。
转到:本地安全政策 - >安全设置 - >本地政策 - >用户权利分配 - >从网络访问此计算机 - >添加用户
解决了问题
答案 3 :(得分:0)
使用Microsoft的err.exe
C:\>err 0x8009030c
# for hex 0x8009030c / decimal -2146893044 :
SEC_E_LOGON_DENIED winerror.h
# The logon attempt failed
# 1 matches found for "0x8009030c"
DC会因许多不同的原因拒绝登录,包括DC的间歇性连接故障。
答案 4 :(得分:0)
另一个原因可能是帐户被锁定。我们之所以遇到这种情况,是因为每半小时使用错误的密码运行流氓服务。该帐户是服务帐户,并且设置为在几分钟后会自动解锁,因此很难跟踪。