Recibo un error de SQL Server:
Se produjo un error de nivel de transporte al recibir resultados del servidor. (proveedor: proveedor de memoria compartida, error: 0: el identificador no es válido).
Estoy ejecutando Sql Server 2008 SP1, Windows 2008 Standard 64 bit.
Es una aplicación web .Net 4.0. Ocurre cuando se realiza una solicitud al servidor. Es intermitente. ¿Alguna idea de cómo puedo resolverlo?
sql-server-2008
Chuck Conway
fuente
fuente
this one was resolved in a manner unlikely to help future readers
- pero 179 mil personas se han encontrado con esta pregunta.Respuestas:
El servidor de la base de datos cierra la conexión de la base de datos. La conexión sigue siendo válida en el grupo de conexiones de su aplicación; Como resultado, cuando recoge la cadena de conexión compartida e intenta ejecutarla, no puede llegar a la base de datos. Si está desarrollando Visual Studio, simplemente cierre el servidor web temporal en su barra de tareas.
Si sucede en producción, restablecer el grupo de aplicaciones para su sitio web debería reciclar el grupo de conexiones.
fuente
MultipleActiveResultSets=True
configuración en la cadena de conexión que causó el mismo error.Pruebe el siguiente comando en el símbolo del sistema:
Esto desactiva las capacidades de escalado automático de la pila de red.
fuente
Yo tuve el mismo problema. Reinicié Visual Studio y eso solucionó el problema.
fuente
Para aquellos que no usan IIS, tuve este problema al depurar con Visual Studio 2010. Terminé todos los procesos del depurador: WebDev.WebServer40.EXE que resolvió el problema.
fuente
Los errores de nivel de transporte a menudo están vinculados a la conexión al servidor sql que se rompe ... por lo general, la red.
El tiempo de espera caducado generalmente se genera cuando una consulta SQL tarda demasiado en ejecutarse.
Tan pocas opciones pueden ser:
fuente
Todo lo que necesita es detener el servidor de desarrollo ASP.NET y ejecutar el proyecto nuevamente
fuente
Si está conectado a su base de datos a través de Microsoft SQL Server Management, cierre todas sus conexiones y vuelva a intentarlo. Tenía este error cuando estaba conectado a otra base de datos de Azure, y funcionó para mí cuando lo cerré. Aún no sé por qué ...
fuente
Estaba obteniendo esto, siempre después de unos 5 minutos de operación. Investigó y descubrió que siempre se producía una advertencia de e1iexpress antes del fallo. Esto aparentemente es un error que tiene que ver con ciertos adaptadores TCP / IP. Pero cambiar de WiFi a cableado no lo afectó.
Así que probé el Plan B y reinicié Visual Studio. Entonces funcionó bien.
En un estudio más detallado, noté que, cuando funcionaba correctamente, el mensaje
The Thread '<No Name>' has exited with code 0
aparecía casi exactamente en el momento en que la ejecución se bloqueó en intentos anteriores. Algunos Google revelan que ese mensaje aparece cuando (entre otras cosas) el servidor está recortando el grupo de subprocesos.Presumiblemente había un hilo falso en el grupo de hilos y cada vez que el servidor intentaba "recortarlo", bajaba la aplicación.
fuente
Mire el blog de MSDN que detalla este error:
fuente
Recibe este mensaje cuando su script hace que el Servicio SQL se detenga por alguna razón. así que si inicia SQL Service nuevamente, tal vez su problema se resolverá.
fuente
Sé que esto puede no ayudar a todos (quién sabe, tal vez sí), pero tuve el mismo problema y después de un tiempo, nos dimos cuenta de que la causa estaba algo fuera del código.
La computadora que intentaba llegar al servidor estaba en otra red, la conexión se podía establecer pero luego se cortaba.
La forma en que solíamos arreglarlo era agregar una ruta estática a la computadora, permitiendo el acceso directo al servidor sin pasar por el firewall.
Muestra:
Espero que ayude a alguien, es mejor tener esto, al menos como una pista, así que si lo enfrentas, sabes cómo resolverlo.
fuente
Obtuve el mismo error en el entorno de desarrollo de Visual Studion 2012, detuve el IIS Express y volví a ejecutar la aplicación, comenzó a funcionar.
fuente
En mi caso, el servicio del servidor "SQL Server" se detuvo. Cuando reinicié el servicio que me permitió ejecutar la consulta y eliminar el error.
También es una buena idea examinar su consulta para averiguar por qué la consulta hizo que este servicio se detuviera
fuente
Tuve el mismo problema. Lo resolví, truncando el REGISTRO de SQL Server. Verifique eso y luego díganos si esta solución lo ayudó.
fuente
Para mí, la respuesta es actualizar el sistema operativo de 2008R2 a 2012R2, la solución de iisreset o reiniciar el grupo de aplicaciones no funcionó para mí. También intenté desactivar la configuración de TCP Chimney Offload, pero no reinicié el servidor porque es un servidor de producción, que tampoco funcionó.
fuente
Para mí la solución fue totalmente diferente.
En mi caso, tenía una fuente de objetos que requería un parámetro de fecha y hora. Aunque ese parámetro ODS ConvertEmptyStringToNull era verdadero, 1/1/0001 se pasaba a SelectMethod. Eso a su vez causó una excepción de desbordamiento de fecha y hora sql cuando esa fecha y hora se pasó al servidor sql.
Se agregó una verificación adicional para datetime.year! = 0001 y eso me resolvió.
Extraño que arrojaría un error de nivel de transporte y no un error de desbordamiento de fecha y hora. De todos modos ..
fuente
Recientemente encontramos este error entre nuestro servidor comercial y nuestro servidor de base de datos. La solución para nosotros fue deshabilitar la "Descarga de IP" en las interfaces de red. Entonces el error desapareció.
fuente
Una de las razones por las que encontré este error es ' Tamaño del paquete = xxxxx ' en la cadena de conexión. Si el valor de xxxx es demasiado grande, veremos este error. Elimine este valor y deje que el servidor SQL lo maneje o lo mantenga bajo, dependiendo de las capacidades de la red.
fuente
Me sucedió cuando intentaba restaurar una base de datos SQL y marqué la siguiente casilla de verificación en la
Options
pestaña,Como es un servidor de base de datos independiente, simplemente cerrar SSMS y volver a abrirlo resolvió el problema para mí.
fuente
Esto ocurre cuando la base de datos se descarta y se vuelven a crear algunos recursos compartidos aún se considera que la base de datos todavía existe, por lo que cuando se vuelve a ejecutar la consulta de ejecución para crear tablas en la base de datos después de que se volvió a crear, el error no volverá a aparecer y el
Command(s) completed successfully.
mensaje se mostrará en lugar del mensaje de errorMsg 233, Level 20, State 0, Line 0 A transport-level error has occurred when sending the request to the server. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)
.Simplemente ignore este error cuando descarte y vuelva a crear bases de datos y vuelva a ejecutar sus consultas DDL sin preocupaciones.
fuente
Recientemente enfrenté el mismo problema, pero no pude obtener una respuesta en Google. Entonces pensé en compartirlo aquí, para que pueda ayudar a alguien en el futuro.
Error:
Al ejecutar la consulta, la consulta proporcionará pocos resultados y arrojará el siguiente error.
Solución:
fuente