2009-10-08 54 views
12

Recibo el siguiente error al intentar conectar con SQL Server 2005 mediante una conexión JDBC.Error de handsie de SSPI con el código de error 0x8009030c al establecer una conexión con seguridad integrada

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] 

MI URL de conexión:

jdbc:sqlserver://LOCALHOST:1433;DatabaseName=master;integratedSecurity=true 
+0

Tengo el mismo problema al usar el controlador jtds jdbc (desde una máquina de Windows a otra de Windows tanto en el mismo dominio). Todavía no he encontrado una solución. El mejor consejo que he escuchado hasta ahora es "algo anda mal con AD". –

+0

Este error ocurre el 100% del tiempo si intenta iniciar sesión en el servidor SQL con seguridad integrada pero su contexto de seguridad actual es de otro dominio (no de confianza) o se registra localmente en el equipo cliente. – wqw

Respuesta

0

tenían el mismo mensaje exacto con este código 0x8009030c.

En mi caso, el usuario no tenía acceso a la computadora sql de la red y tuve un mensaje de auditoría de falla que indica que (creo que el mismo mensaje también ocurre en otros casos).

Ir a: Directiva de seguridad local -> Configuración de seguridad -> Directivas locales -> Asignación de derechos de usuario -> acceso a este equipo desde la red -> agregar el usuario

Se solucionó el problema

16

La clave a este respecto, al menos para mí, es el hecho de que la conexión a SQL Server se realiza a través de la interfaz loopback (127.0.0.1). Tuve los mismos síntomas y encontré la respuesta en this blog post.

En resumen: se está realizando una comprobación de bucle que hace que fallen las conexiones fiables a través del adaptador de bucle invertido. Esta comprobación se puede eliminar agregando una entrada de registro de la siguiente manera:

  1. Edite el registro utilizando regedit. (Inicio -> Ejecutar ... Regedit)
  2. Examinar para: HKLM \ System \ CurrentControlSet \ Control \ LSA
  3. agregar un valor DWORD llamado “DisableLoopbackCheck”
  4. Ajuste este valor a 1

Reanudé después de hacer este cambio, solo para estar seguro, pero puede encontrar que esto no es necesario. Después de que se efectuó este cambio en el registro, pude establecer conexiones de confianza a través del adaptador de bucle invertido.

Felicito al Blackhawk Consulting Blog por señalarme en la dirección correcta sobre este tema.

+2

Tengo el mismo error en la red.Por lo tanto, no es necesariamente debido al uso de 127.0.0.1. – Tagar

+0

Gracias por esta respuesta. He estado tratando de arreglar esto durante más de un mes sin éxito. Tropecé con esta publicación SO y solucionó mi problema. –

6

También tuve este problema, y ​​la causa fue simple: la contraseña de mi usuario de dominio había caducado, por lo que las credenciales habían sido revocadas.

Ocurrió que también había dejado SQL Management Studio abierto, por lo que generó errores como estos cada 2-3 minutos hasta que cambié la contraseña de mi dominio.

0

Usando Err.exe de Microsoft

C:\>err 0x8009030c 
# for hex 0x8009030c/decimal -2146893044 : 
    SEC_E_LOGON_DENIED           winerror.h 
# The logon attempt failed 
# 1 matches found for "0x8009030c" 

A CC negará un inicio de sesión por muchas razones diferentes, incluyendo fallos de conectividad intermitente a un DC.

Cuestiones relacionadas