Error de inicio de sesión en Microsoft SQL Server: 18456


295

Recibo este error al intentar conectarme al SQL Server.

Error de Microsoft SQL Server: 18456

¿Alguien puede decirme qué significa el código de error?


66
Una búsqueda rápida parece indicar que el código de error es un error de inicio de sesión, y generalmente va acompañado de información más detallada.
David

Y esa información más detallada debe estar en el registro de errores del servidor SQL. El número en sí deliberadamente no te dice mucho, por lo que los crackers no pueden usarlo para obtener pistas sobre dónde van mal sus intentos.
Tony Hopkinson

información útil encontrada aquí
sairfan

1
Solo tenía que hacerlorun as administrator
Jacksonkr

Respuestas:


706

Si está intentando conectarse usando "Autenticación de SQL Server", entonces puede modificar la autenticación de su servidor:

Dentro del Microsoft SQL Server Management Studio en el explorador de objetos:

  1. Haga clic derecho en el servidor y haga clic Properties

  2. Ir a la Securitypágina

  3. Debajo de Server authenticationelegir el SQL Server and Windows Authentication modebotón de radio

  4. Hacer clic OK

  5. Reiniciar servicios SQL


32
Gracias. Es una pena que no haya un mensaje de advertencia cuando intentas agregar usuarios.
JohnnyBizzle

12
¿Qué quiere decir exactamente "Servidor de clic derecho y propiedades de clic", dónde es esto?
emcor

99
Se refiere al nodo superior en su Explorador de objetos: el cilindro amarillo con el botón de reproducción
JGilmartin, el

21
Este es un problema muy común con el que se encuentran las personas. El hecho de que pueda crear inicios de sesión de SQL Server al contenido de su corazón sin darse cuenta de que esta configuración simple está desactivada es bastante confuso IMO. Recomiendo esto como la respuesta correcta.

77
@JGilmartin, ¿cómo exactamente podrá conectarse al servidor en el Explorador de objetos cuando tenga el error 18456, lo que significa que no puede conectarse ?
Shai Alon

69

Consulte este artículo del blog del equipo de la plataforma de datos.

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

Realmente necesita mirar la parte de estado del mensaje de error para encontrar la causa raíz del problema.

2, 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, 12 = Valid login but server access failure
13 = SQL Server service paused
18 = Change password required

Luego, Google cómo solucionar el problema.


42
No sonar mi propia bocina, pero he compilado mucha más información aquí: sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/…
Aaron Bertrand

Siempre tocas la bocina ... ¿Gracias por el voto positivo? ¡Pero tu lista parece ser más completa! Creo que la mayoría de la gente no sabe cómo usar Google.
DRA CRAFTY

1
Tuve la tentación de votar, pero estoy desgarrado porque responder preguntas que podrían ser respondidas por Google simplemente alienta a las personas a seguir preguntando aquí en lugar de buscar ...
Aaron Bertrand

13
El 99% de las preguntas aquí probablemente podrían ser respondidas por Google, sin embargo, una simple pregunta y respuesta simple ahorra una considerable cantidad de tiempo de búsqueda y se vierte en artículos / blogs a menudo superfluos, ¡y un voto mío!
Chris Nevill

12
AQUÍ es donde encuentro las respuestas cuando uso google (google busca SO mejor que SO busca SO ...)
Cos Callis

27

Antes de abrir, haga clic derecho y elija 'Ejecutar como administrador'. Esto resolvió mi problema.


1
Esta fue la solución para mí. Tenía State: 1en el mensaje de error.
GraehamF

@Gsic Eres un verdadero salvador. He estado luchando por más de un día y su solución lo resolvió. Gracias
Karthik

¿Antes de abrir qué?
Mike

11

primero vea los detalles del error si "estado" es "1" Asegúrese de que la base de datos esté configurada para la autenticación de SQL y Windows en Servidor SQL / Propiedades / Seguridad.

para otro estado ver las respuestas anteriores ...


1
OMG gracias! Ninguno de mis inicios de sesión funcionaba, luego me topé con esta respuesta y descubrí que de alguna manera mi instancia de SQL Express cambió de "autenticación de SQL y Windows" a "autenticación de Windows". Lo cambió de nuevo y todo funciona.
Ian Kemp

1
Además, al cerrar SSMS no es suficiente, es necesario reiniciar el servicio SqlServer para que el cambio surta efecto.
Ravid Goldenberg

10

Me he enfrentado a este problema.

Por favor mira la imagen adjunta,

Paso 1: ir a la propiedad del servidor

Paso 2: Ve a Seguridad

Paso 3: cambie la autenticación del servidor como servidor SQL y modo de autenticación de Windows

y reinicie su servidor SQL.

ingrese la descripción de la imagen aquí


9
  1. Compruebe si la autenticación de modo mixto está habilitada en su servidor-> propiedades
  2. Luego cree un inicio de sesión en el servidor-> seguridad
  3. crear un usuario para ese inicio de sesión en su base de datos
  4. Luego reinicie su servidor haciendo clic derecho en la instancia y seleccione reiniciar

5

Simplemente me sucedió y resultó ser diferente a todos los demás casos enumerados aquí.

Resulta que tengo dos servidores virtuales alojados en el mismo clúster, cada uno con su propia dirección IP. El host configuró uno de los servidores para ser el servidor SQL y el otro para ser el servidor web. Sin embargo, SQL Server está instalado y ejecutándose en ambos. El host olvidó mencionar cuál de los servidores es el SQL y cuál es la Web, así que supuse que el primero es el Web, el segundo es el SQL.

Cuando me conecté al SQL Server (lo que pensé que es) e intenté conectarme a través de SSMS, eligiendo la autenticación de Windows, recibí el error mencionado en esta pregunta. Después de tirar muchos pelos, revisé toda la configuración, incluida la Configuración de red de SQL Server, Protocolos para MSSQLSERVER:

captura de pantalla de la configuración TCP / IP

Hacer doble clic en TCP / IP me dio esto:

Propiedades de TCP / IP, que muestran una dirección IP incorrecta

¡La dirección IP era del otro servidor virtual! Esto finalmente me hizo darme cuenta de que simplemente confundí entre los servidores, y todo funcionó bien en el segundo servidor.


4

Si cambia una credencial de usuario de inicio de sesión o agrega un nuevo usuario de inicio de sesión, luego de que necesite iniciar sesión, deberá reiniciar el Servicio SQL Server. para eso

IR a -> Servicios fila de color gris

Luego vaya a SQL Server (MSSQLSERVER) y pare y comience nuevamente

Ahora intenta iniciar sesión, espero que puedas.

Gracias


3

18456 Lista de estados de error

ERROR ESTADO DESCRIPCIÓN DEL ERROR

  • Estado 2 y Estado 5 Usuario no válido
  • Estado 6 Intente utilizar un nombre de inicio de sesión de Windows con autenticación de SQL
  • Estado 7 Inicio de sesión deshabilitado y contraseña no coinciden
  • Estado 8 Contraseña no coincide
  • Estado 9 Contraseña no válida
  • Estado 11 y Estado 12 Inicio de sesión válido pero error de acceso al servidor
  • Servicio de estado 13 SQL Server en pausa
  • Estado 18 Requiere cambio de contraseña

Causas potenciales A continuación hay una lista de razones y una breve explicación de qué hacer:

La autenticación de SQL no está habilitada : si usa el inicio de sesión de SQL por primera vez en la instancia de SQL Server, a menudo se produce el error 18456 porque el servidor puede estar configurado en modo de autenticación de Windows (solo).

¿Cómo arreglarlo ? Consulte esta página de SQL Server y Windows Authentication Mode.

ID de usuario no válido: SQL Server no puede encontrar el ID de usuario especificado en el servidor que está intentando obtener. La causa más común es que a este ID de usuario no se le ha otorgado acceso al servidor, pero esto también podría ser un simple error tipográfico o accidentalmente está intentando conectarse a un servidor diferente (Típico si usa más de un servidor)

Contraseña no válida: contraseña incorrecta o simplemente un error tipográfico. Recuerde que este nombre de usuario puede tener diferentes contraseñas en diferentes servidores.

errores menos comunes: el ID de usuario puede estar deshabilitado en el servidor. Se proporcionó el inicio de sesión de Windows para la Autenticación de SQL (cambie a Autenticación de Windows. Si usa SSMS, es posible que deba ejecutar como un usuario diferente para usar esta opción). La contraseña puede haber expirado y probablemente varias otras razones ... Si conoce alguna otra, hágamelo saber.

Explicaciones del estado 18456 1: por lo general, Microsoft SQL Server le dará el estado de error 1, que en realidad no significa nada, aparte de que tiene un error 18456. El estado 1 se usa para ocultar el estado real para proteger el sistema, lo que para mí tiene sentido. A continuación se muestra una lista con todos los estados diferentes y para obtener más información sobre cómo recuperar estados precisos, visite Mensajes de error "Error de inicio de sesión" (Error 18456) en SQL Server 2005

Espero que ayude


2

Haga clic con el botón derecho en el usuario, vaya a propiedades, cambie la base de datos predeterminada a maestra. Esta es la impresión de la pantalla de la imagen que muestra lo que debe verificar si tiene el error 19456. A veces, por defecto, una base de datos que el usuario no tiene permiso


2

Primero vaya a la barra de inicio, luego busque los servicios locales. Luego haga clic en "ver servicios locales". Luego se abrirá la ventana de servicio, luego vaya a SQL Server (MSSQLSERVER), haga clic derecho sobre él y haga clic en detener y luego nuevamente haga clic derecho sobre él y haga clic en iniciar. Ahora puede iniciar sesión y poner su nombre de usuario como 'sa' y la contraseña es su contraseña ganada.



1

Verifique si está conectado a la red si se trata de una PC miembro de dominio. Además, asegúrese de no estar en una PC doméstica dual ya que sus rutas pueden ser incorrectas debido a las métricas de la red. Tuve este problema cuando no pude conectarme al dominio, la autenticación de Windows SQL cambió a la cuenta de PC local, pero la registré como una autenticación de SQL. Una vez que desactivé mi adaptador inalámbrico y reinicié, la integración de Windows volvió a la cuenta de dominio y se autenticó correctamente. Ya había configurado el modo mixto como ya lo había hecho también para que las publicaciones anteriores no se apliquen.


1

Para mí, fue un inicio de sesión y una contraseña incorrectos .


0

Creo que esto puede suceder si está intentando iniciar sesión con un usuario definido en Active Directory, pero intenta usar "Autenticación de SQL Server" en la pantalla de inicio de sesión. No sé cómo especificar un usuario diferente con NTLM / Autenticación de Windows: cuando hago clic en el menú desplegable Autenticación de Windows, el nombre de usuario y la contraseña quedan en blanco, y solo puedo iniciar sesión como yo mismo.


0

En mi caso, varios intentos incorrectos bloquearon la cuenta. Para hacerlo, intenté ejecutar la consulta a continuación y funcionó: ALTERAR INICIAR SESIÓN CON CONTRASEÑA = DESBLOQUEAR Y asegúrese de configurar la opción "Hacer cumplir la seguridad de contraseña" para que un usuario específico no esté marcado Haga clic derecho en Servidor SQL -> Propiedades.


0

Solución de problemas de conexión de SQL Server

En caso de que no pueda conectarse con la autenticación SQL y haya probado las otras soluciones.

Puedes probar lo siguiente:

Verificar conectividad

  • Deshabilitar el cortafuegos.
  • Ejecute PortQry en 1434 y verifique la respuesta.

Comprueba el estado

  • Intente conectarse con SSMS o sqlcmd y verifique el mensaje.
  • El estado 1 rara vez se documenta, pero solo significa que no tiene derecho a conocer el verdadero estado.
  • Mire el archivo de registro en el directorio del servidor SQL para saber cuál es el estado.

El estado 5

Qué ? mi nombre de usuario no existe? está justo ahí, puedo verlo en SSMS. Cómo puede ser ?

La explicación más probable es la más adecuada.

El estado del inicio de sesión

  • Destruir, recrearlo, habilitarlo.
  • restablecer la contraseña

O...

"No miras el lugar correcto" o "lo que ves no es lo que piensas".

El conflicto de DB local y SQLEXPRESS

Si se conecta con SSMS con autenticación de Windows y su instancia se llama SQLEXPRESS, probablemente esté buscando LocalDb y no el servidor correcto . Así que acaba de crear su inicio de sesión en LocalDb.

Cuando se conecta a través de la autenticación de SQL Server con SSMS, intentará conectarse al servidor real SQLEXPRESS donde su amado inicio de sesión aún no existe.

Nota adicional: Compruebe en la pestaña de parámetros de conexión si no ha olvidado alguna cadena de conexión extraña allí.



0

Otra solución trabajada para mí. serever->security->logins->new logins->General->cree su nombre de usuario como nombre de usuario, haga clic en autenticación de servidor sql, agregue contraseñas

desmarque la verificación de contraseña tres casillas de verificación. Esto funcionará

Recuerde cambiar las propiedades del servidor -> Seguridad de Server authenticationaSQL Server and Windows Authentication mode


0

puede hacer en Linux para mssql cambiar la contraseña para una cuenta sa

Configuración de sudo / opt / mssql / bin / mssql-conf

The license terms for this product can be downloaded from
 http://go.microsoft.com/fwlink/?LinkId=746388 Jump Jump
and found in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? [Yes/No]:yes
  Setting up Microsoft SQL Server
Enter the new SQL Server system administrator password:  --Enter strong password
Confirm the new SQL Server system administrator password: --Enter strong password
 starting Microsoft SQL Server...
 Enabling Microsoft SQL Server to run at boot...
Setup completed successfully.

0

Recibí este error después de crear un nuevo usuario sysadmin en mi instancia de SQL. Mi usuario administrador fue creado bajo un dominio específico MyOrganization / useradmin

El uso de useradmin en un entorno desconectado le permite crear otros usuarios utilizando la autenticación de SQL Server, pero tan pronto como intente iniciar sesión obtendrá

Error de Microsoft SQL Server: 18456

Para solucionar el problema, intente conectarse nuevamente a la red de su organización y cree el usuario mientras está conectado y luego podrá desconectarse y funcionará.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.