SQL Server 2008 no puede iniciar sesión con un usuario recién creado

200

Estoy usando Windows Vista y tengo problemas para iniciar sesión con un usuario recién creado.

  1. Abro SQL Server Management Studio.
  2. Creo un nuevo inicio de sesión haciendo clic derecho en Seguridad-> Inicios de sesión.
    Comprobar: Autenticación de SQL Server
    Nombre de inicio de sesión: probador
    Contraseña: prueba
    Haga clic en Aceptar
  3. Agregué este usuario a User Mapping a mi base de datos de elección.
  4. Haga clic en Archivo -> Conectar el Explorador de objetos, seleccione Autenticación de SQL Server e ingrese probador / prueba y haga clic en Conectar.

Me sale un error:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.

¿Qué causa este error y cómo inicio sesión con mi usuario?

Travis Heseman
fuente

Respuestas:

480

SQL Server no se configuró para permitir la autenticación mixta.

Aquí hay pasos para arreglar:

  1. Haga clic derecho en la instancia de SQL Server en la raíz del Explorador de objetos, haga clic en Propiedades
  2. Seleccione Seguridad en el panel izquierdo.
  3. Seleccione el botón de opción Modo de autenticación de SQL Server y Windows y haga clic en Aceptar.

    ingrese la descripción de la imagen aquí

  4. Haga clic derecho en la instancia de SQL Server, seleccione Reiniciar (alternativamente, abra Servicios y reinicie el servicio de SQL Server).

Esto también es increíblemente útil para los usuarios de IBM Connections, mis asistentes no pudieron conectarse hasta que fijé esta configuración.

Travis Heseman
fuente
8
Creo que es bueno porque permite que los posibles respondedores sepan que el problema está resuelto. También contribuye a un creciente cuerpo de documentación que otros desarrolladores pueden usar para encontrar sus propias respuestas en el futuro.
44
Definitivamente no es malo responder sus propias preguntas. ¡Incluso años después de los datos, su respuesta fue útil para mí!
johanvdw
44
Yo tuve el mismo problema. Estaba buscando una solución por horas. Intenté todo lo que pude para resolverlo, pero no sucedió. Entonces vi esta publicación. Pensé que reiniciar el servicio es algo que no he probado. ¡Así que reinicié el servicio y funcionó! Luego me
conecté
16
La culpa debe estar en el mensaje de error ridículo. Si hubiera dicho algo como "No se pudo iniciar sesión. La autenticación de SQL Server no está permitida. El servidor está configurado para permitir solo la autenticación de Windows. Comuníquese con ..." habría ahorrado mucho dolor.
rpattabi
55
@ Tony Interesante. Gracias. Aún así, no estoy convencido de que la seguridad sea una excusa válida para obstaculizar la usabilidad. Podría haber algo en el mensaje para señalar al usuario la resolución del problema.
rpattabi
14

Si no ha reiniciado su servidor de base de datos SQL después de realizar cambios de inicio de sesión, asegúrese de hacerlo. Start-> Programs-> Microsoft SQL Server-> Configuration tools-> SQL Server configuration manager-> Restart Server.

Parece que solo agregaste el usuario al servidor. También debe agregarlos a la base de datos. Abra la base de datos / Seguridad / Usuario / Agregar nuevo usuario o abra el servidor / Seguridad / Inicios de sesión / Propiedades / Asignación de usuarios.

Eric Leschinski
fuente
Gracias por notarlo. Olvidé mencionar que edité User Mapping para hacer esto.
Travis Heseman el
Hilo anterior, lo sé, pero tuve que agregar un nuevo inicio de sesión al servidor antes de poder agregar un nuevo usuario a la base de datos. Servidor> Seguridad> Inicios de sesión> Haga clic derecho, Nuevo servidor de inicio de sesión> Bases de datos> Seleccionar base de datos> Seguridad> Usuarios> Haga clic derecho, Nuevo usuario.
red_dorian
2

Es probable que deba verificar los registros de errores de SQL Server para determinar el estado real (no se informa al cliente por razones de seguridad). Consulte aquí para obtener más detalles.

GuyBehindtheGuy
fuente
Gracias ... ya he estado en esa página. Tenga en cuenta que no menciona lo que significa Estado = 1 en realidad. Grr ... pero ahora estoy bien.
Travis Heseman el
Como explica la página, el estado registrado en su registro de errores de SQL Server será diferente del estado que se informa al usuario.
GuyBehindtheGuy el
1

Inicie sesión en el servidor como administrador

Vaya a Seguridad> Inicios de sesión> Nuevo inicio de sesión

Paso 1:

Login Name : SomeName

Paso 2:

Select  SQL Server / Windows Authentication.

Más información sobre, ¿cuáles son las diferencias entre la autenticación del servidor SQL y la autenticación de Windows ...?

Elija la base de datos predeterminada y el idioma de su elección

Haga clic en Aceptar

Intente conectarse con las nuevas credenciales de usuario, le pedirá que cambie la contraseña. Cambiar e iniciar sesión

O

Prueba con la consulta:

USE [master] -- Default DB
GO

CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

--123456 is the Password And Username is Login User 
ALTER LOGIN [Username] enable -- Enable or to Disable User
GO
MAX
fuente