No hay ningún proceso en el otro extremo de la tubería (SQL Server 2012)

92

Tengo este error:

A connection was successfully established with the server, but then an error occurred
during the login process. (provider: Shared Memory Provider, error: 0 - No process is
on the other end of the pipe.)

(Microsoft SQL Server, Error: 233)

Lo sé, hay preguntas similares en este sitio, y la respuesta es habilitar TCP / IP y canalizaciones. Pero habilité ambos y todavía no funciona:

Error de MSSQL

Estoy usando Microsoft SQL Server 2012 y el usuario tiene permisos completos.

Iter Ator
fuente
prueba pinal dave solutions blog.sqlauthority.com/2009/05/21/…
GeoVIP
Esto funcionó para mí cuando me reconecté de la autenticación del servidor a la autenticación de Windows.
ganji raajkumar
1
Lo que funcionó para mí (sql express 2016) ... Eliminar la autenticación mixta dejando solo la autenticación de Windows, reiniciar el servicio, volver a cambiarlo a la autenticación mixta, reiniciar el servicio. hasta que hice esto, nada solucionó el error Sin proceso
Rostol
1
Por lo que vale, verifique la cadena de conexión en su archivo de configuración. Para mí, alguien había modificado uno de los nombres de servidor y lo había registrado. Mi código intentaba llegar a una base de datos que no existía en mi servidor.
camainc

Respuestas:

120

El servidor se configuró en Autenticación de Windows solo de forma predeterminada. No hay ninguna notificación de que el origen de los errores es ese, por lo que es difícil averiguarlo. El estudio de administración de SQL no alerta, incluso si crea un usuario con autenticación de SQL solamente.

Entonces, la respuesta es: Cambie de Windows a Autenticación SQL :

  1. Haga clic derecho en el nombre del servidor y seleccione properties;
  2. Seleccionar securitypestaña;
  3. Habilite el SQL Server and Windows Authentication mode;
  4. Reinicie el servicio de SQL Server.

Ahora puede conectarse con su nombre de usuario / contraseña.

Iter Ator
fuente
5
La opción se marcó correctamente, así que marqué 'Autenticación de Windows', reinicio el servicio y luego marqué 'Autenticación de Windows + Autenticación de SQL' para solucionar ese problema. ¡Tan feliz!
Groco
2
Para aclarar el comentario de @ Groco: Inicie sesión usando Windows Authentication>> Haga clic derecho en su servidor >> Properties>> Security(Bajo Select a page) >> Bajo Server Authenticationseleccionar SQL Server and Windows Authentication mode. Cierre SQL Server Management Studio, reinicie el servicio SQL Server e intente iniciar sesión nuevamente.
Minh Tran
1
El problema que tuve fue que Server Authenticationestaba listo Windows Authentication mode. E independientemente de la entrada correcta de la contraseña, siempre me saludaron A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.). Durante el error, pude iniciar sesión conWindows Authentication
Minh Tran
Muchas gracias. reatart the Sql Service solucionó mi problema.
user1282609
57

Para resolver esto, conéctese a SQL Management Studio usando la autenticación de Windows, luego haga clic con el botón derecho en Propiedades del nodo del servidor-> Seguridad y habilite el modo de autenticación de SQL Server y Windows. Si está utilizando 'sa' asegúrese de que la cuenta esté habilitada. Para hacer esto, abra 'sa' en Inicios de sesión y vea Estado.

habilitar sa admin

Si esto no funcionó, es posible que deba reinstalar SQL Server

nzchris
fuente
Después de hacer esto, reinicie SQL Server. Luego intenta iniciar sesión.
Webucator
25

También puede intentar ir a servicios y reiniciar su instancia de servidor Sqlingrese la descripción de la imagen aquí

Sin nombre
fuente
3
Esto resolvió mi problema después de probar todas las demás correcciones.
mini998
Uh, ¿no debería venir esto con una gran etiqueta de advertencia de que reiniciar el servicio del servidor SQL solo porque no puede conectarse romperá otras cosas que se han conectado correctamente?
undrline
Esto funciono muy bien para mi. Puedo ver lo fácil que es para las personas descuidar la consideración de esta solución.
TechnicalTim
17

Por lo tanto, también tuve esto recientemente, para la seguridad integrada. Resulta que mi problema fue bastante simple de solucionar, pero principalmente porque me había olvidado de agregar "Trusted_Connection = True" a mi cadena de conexión.

Sé que puede parecer bastante obvio, pero me hizo funcionar durante 20 minutos más o menos hasta que me di cuenta de que había copiado el formato de la cadena de conexión de connectionstrings.com y faltaba esa parte de la cadena de conexión.

Simple y me siento un poco tonto, pero fue la respuesta para mí.

Joe Walters
fuente
Intenté todos los comentarios pero no funcionó. Tu solución funcionó a la perfección para mí. Muchas gracias.
Royal.O
esto fue lo último que probé después de que todas las otras cosas para verificar que tcp estén habilitadas, agregar autenticación de modo mixto y reiniciar el servicio del navegador sql y funcionó. gracias
Myke Black
10

Otro motivo de este error podría ser un nombre de base de datos incorrecto o inexistente.

Forzar la conexión TCP / IP (proporcionando en 127.0.0.1lugar de localhosto .) puede revelar la verdadera razón del error. En mi caso, el nombre de la base de datos especificado en la cadena de conexión era incorrecto.

Entonces, aquí está la lista de verificación:

  • Asegúrese de que Named Pipe esté habilitado en el administrador de configuración (no olvide reiniciar el servidor).
  • Asegúrese de que exista la base de datos a la que se está conectando.
  • Asegúrese de que la autenticación de SQL Server (o el modo mixto) esté habilitada.
Mohammad Dehghan
fuente
¿Qué pasó con el administrador de configuración en express 2016? ¿No lo veo disponible? Oh, tengo que ejecutar SQLServerManager13.msc ahora
Kirsten Greed
Cuando cambié a 127.0.0.1 recibí el mensaje de error Mensaje = Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server. El servidor no se encontró o no estaba accesible. Verifique que el nombre de la instancia sea correcto y que SQL Server esté configurado para permitir conexiones remotas. (proveedor: Interfaces de red SQL, error: 26 - Error al localizar el servidor / instancia especificada) Fuente = Proveedor de datos Core .Net SqlClient
Kirsten Greed
1
@kirsteng Verifique sus instancias de SQL Server instaladas. ¿Instaló una instancia predeterminada (MSSQLSERVER)?
Mohammad Dehghan
La autenticación de SQL Server en modo mixto lo hizo por mí. Chicos, si realizan una nueva instalación de SQL Server Express, cuando quieran agregar un usuario para sus necesidades de programación, deben cambiarlo a modo mixto; de lo contrario, solo estará disponible la autenticación de Windows.
Eduardo
Esto (más o menos) funcionó. Una vez que cambié la tontería localdb a 127.0.0.1, se logró.
Eric
9

Verifique esto también ingrese la descripción de la imagen aquíVerifique también en la configuración TCP / IP, Nombres PipeLine y memoria compartida habilitada

Muhammad Bilal
fuente
7

Si está intentando iniciar sesión con credenciales de SQL, también puede intentar cambiar el modo de inicio de sesión para SQL Server en el registro para permitir tanto la autenticación de SQL Server como de Windows.

  1. Abrir regedit
  2. Vaya a la clave de la instancia SQL (puede variar según el nombre de su instancia): Computadora \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL14.SQLEXPRESS \ MSSQLServer \
  3. Establecer LoginMode en 2

ingrese la descripción de la imagen aquí

  1. Reinicie el servicio SQL y SQL Server Management Studio y vuelva a intentarlo.
gotorg
fuente
esta es la respuesta más adecuada.
sushh
5

Me enfrento a este problema por segunda vez y todas las respuestas anteriores fallaron, afortunadamente, la siguiente solicitud hace el trabajo:

Alter login [user] with CHECK_POLICY = OFF
go

Alter login [user] with CHECK_POLICY = ON
go
Groco
fuente
4

Para mí, la contraseña caducó para mi usuario de inicio de sesión y obtuve la misma excepción. Luego me conecto con el modo de autenticación de Windows y cambio la contraseña del usuario asociado, y resolvió mi problema.

Bence Végert
fuente
me salvas el dia !!
alumno
3

Tenía este error también, la causa era simple, pero no obvia: contraseña incorrecta. No estoy seguro de por qué no obtuve solo "Error de inicio de sesión" del servidor SQL 2016 recién instalado.

Stefan
fuente
3

Sí, este error también podría ser "algo falló, buena suerte averiguando qué". En mi caso, era un nombre de usuario incorrecto. SQL Server 2019 RC1.

Anssssss
fuente
2

Tengo el mismo problema "Se estableció correctamente una conexión con el servidor, pero luego se produjo un error durante el proceso de inicio de sesión. (Proveedor: Proveedor de memoria compartida, error: 0 - No hay ningún proceso en el otro extremo de la tubería)".

Mi conexión es:

servidor = POS06 \ SQLEXPRESS; AttachDbFilename = C: ... \ Datas.mdf; Catálogo inicial = Datas; ID de usuario = sa; Pwd = 12345; Tiempo de espera de conexión = 10;

Pero mi SQL es POS06 \ MSQL2014

Cambie la cadena de conexión a

servidor = POS06 \ MSQL2014; AttachDbFilename = C: ... \ Datas.mdf; Catálogo inicial = Datas; ID de usuario = sa; Pwd = 12345; Tiempo de espera de conexión = 10;

funcionó.

Doan bien
fuente
0

asegúrese de haber especificado un usuario en Seguridad-> Inicios de sesión, si no, agréguelo e intente nuevamente.

elkoo
fuente
0

Siga la otra respuesta y, si aún no funciona, reinicie su computadora para reiniciar efectivamente el servicio SQL Server en Windows.

cschaefer
fuente
Por lo general, también puede reiniciar el servicio SQL para su base de datos específica ubicándolo enservices.msc
Zimano
0

Siempre intente iniciar sesión con esas credenciales con SQL Management Studio. Esto podría revelar algunos detalles más que no obtiene en tiempo de ejecución en su código. Había comprobado la autenticación de SQL + Windows, reinicié el servidor pero todavía no tuve suerte. Después de intentar iniciar sesión usando SQL Management, recibí este mensaje:

captura de pantalla

De alguna manera, la contraseña había expirado, aunque el inicio de sesión se creó unos minutos antes. De todos modos, se estableció una nueva contraseña, se actualizó la cadena de conexión y todo está bien.

CyberDude
fuente