No se puede iniciar sesión en SQL Server + Autenticación de SQL Server + Error: 18456

He creado una cuenta de acceso en mi servidor localhost\sql2008 (por ejemplo, User123)

Asignado a la base de datos (por defecto)

El modo de autenticación en el servidor SQL está establecido en ambos (Windows y SQL)

Pero el inicio de sesión en SQL Server falla con el siguiente mensaje (para el usuario 123)

Nota: He comprobado varias veces que el nombre de usuario y la contraseña se han introducido correctamente.

Detalles del error:

Error en el inicio de sesión del usuario 'User123' (Proveedor de datos Net.SqlClient)

Nombre del servidor : localhost\sql2008 Error Número: 18456 Gravedad : 14 Estado : 1 Número de línea : 65536

cualquier ayuda sobre esto por favor.

Es necesario activar la autenticación de SQL Server:

  1. En el Explorador de Objetos, haga clic con el botón derecho en el servidor y haga clic en "Propiedades&quot";

Diálogo de propiedades del DBMS

  1. En la ventana "Propiedades del servidor" haga clic en "Seguridad" en la lista de páginas de la izquierda. En "Autenticación del servidor" elija la opción de radio "Modo de autenticación de SQL Server y Windows".

Diálogo de Autenticación del Servidor SQL

  1. Reinicie el servicio SQLEXPRESS.
Comentarios (18)
Solución

Por defecto, el mensaje de error de inicio de sesión fallido no es otra cosa que la conexión de un usuario cliente ha sido rechazada por el servidor debido a la falta de coincidencia de las credenciales de inicio de sesión. La primera tarea que debe comprobar es si ese usuario tiene privilegios relevantes en esa instancia de SQL Server y en la base de datos relevante también, eso es bueno. Obviamente, si los privilegios necesarios no se han establecido, entonces usted necesita para arreglar ese problema mediante la concesión de privilegios pertinentes para ese inicio de sesión de usuario.

Aunque si ese usuario tiene privilegios relevantes en la base de datos y en el servidor, si el servidor encuentra cualquier problema de credenciales para ese inicio de sesión, entonces impedirá la autenticación de nuevo a SQL Server, el cliente obtendrá el siguiente mensaje de error:

Msg 18456, Level 14, State 1, Server , Line 1
Login failed for user ''

Ok ahora que, mirando el mensaje de error se siente como esto no es descriptivo para entender el nivel & estado. Por defecto, el error del sistema operativo mostrará 'Estado' como 1 independientemente de la naturaleza de los problemas en la autenticación del inicio de sesión. Por lo tanto, para investigar más a fondo es necesario mirar también el registro de errores de la instancia de SQL Server correspondiente para obtener más información sobre la gravedad y el estado de este error. Usted puede mirar en una entrada correspondiente en el registro como:

2007-05-17 00:12:00.34 Logon     Error: 18456, Severity: 14, State: 8.
or

2007-05-17 00:12:00.34 Logon     Login failed for user ''.

Como se definió anteriormente, las columnas Severidad y Estado del error son clave para encontrar el reflejo exacto del origen del problema. En el error anterior, el número 8 del estado indica un fallo de autenticación debido a la falta de coincidencia de la contraseña. Libros en línea se refiere: Por defecto, los mensajes definidos por el usuario de gravedad inferior a 19 no se envían al registro de aplicaciones de Microsoft Windows cuando se producen. Por lo tanto, los mensajes definidos por el usuario de gravedad inferior a 19 no activan las alertas de SQL Server Agent.

Sung Lee, Director de Programa en Protocolos de SQL Server (equipo de desarrollo) ha esbozado más información sobre Descripción del estado de error: Los estados de error comunes y sus descripciones se proporcionan en la siguiente tabla:

ERROR STATE       ERROR DESCRIPTION
------------------------------------------------------------------------------
2 and 5           Invalid userid
6                 Attempt to use a Windows login name with SQL Authentication
7                 Login disabled and password mismatch
8                 Password mismatch
9                 Invalid password
11 and 12         Valid login but server access failure
13                SQL Server service paused
18                Change password required

Well I'm not finished yet, what would you do in case of error:

2007-05-17 00:12:00.34 Logon     Login failed for user ''.

Usted puede ver que no hay gravedad o nivel de estado definido de esa instancia de SQL Server' s registro de errores. Así que la siguiente opción para solucionar el problema es mirar el registro de seguridad del Visor de Sucesos [editar porque falta la captura de pantalla pero se obtiene la

idea, busque en el registro de eventos para los eventos interesantes].

Comentarios (9)

Tuve este mismo problema, sin embargo el mío fue porque no había configurado la autenticación del servidor a "SQL Server y el modo de autenticación de Windows" (que tenía) Sólo quería mencionarlo aquí en caso de que alguien se perdió en su pregunta.

Usted puede acceder a esto por

  • Haga clic derecho en la instancia (IE SQLServer2008)
  • Seleccione "Propiedades";
  • Seleccione la opción "Seguridad"
  • Cambiar "Autenticación del servidor" a "SQL Server y el modo de autenticación de Windows";
  • Reinicie el servicio SQLServer
  • Haga clic con el botón derecho en la instancia
  • Haga clic en "Reiniciar";
Comentarios (2)