El nombre de red especificado ya no está disponible.

10

Tenemos una aplicación que accede a la base de datos (servidor Sql 2014 Enterprise Edition). La aplicación llama a procedimientos almacenados para acceder a la base de datos. Todo funcionaba bien hasta que recientemente comencé a enviar el siguiente error y detuve las aplicaciones. Reiniciar la aplicación soluciona el problema temporalmente, pero enfrenta el mismo error más tarde.

Error: se produjo un error de nivel de transporte al recibir resultados del servidor. (Proveedor: Proveedor TCP, error: 0 - El nombre de red especificado ya no está disponible).

Investigué mucho y la mayoría de ellos lo señaló como un problema de red, pero no pude encontrar nada para resolver el problema. ¿Alguien sabe qué cambio debo hacer en el lado de la base de datos para resolver este problema? Agradezco mucho cualquier sugerencia.

Hailegziabher Dechassa
fuente

Respuestas:

8

Suena como problemas de resolución DNS irregulares o consultas de larga duración.

Para la resolución de problemas de DNS

Como ayuda para la solución de tiritas y ayuda para la resolución de problemas, agregue e ingrese al archivo de hosts en sus servidores de aplicaciones (no en el servidor SQL) en c: \ windows \ system32 \ drivers \ etc.

SQLServerIPAddress SQLServerName

Ejemplo:

172.16.0.5 ProductionSQLBox

De esa manera, el nombre de SQL Server será resuelto por el archivo de hosts hasta que pueda encontrar el problema real de lo que está sucediendo con la resolución de nombres.

Asegúrese de probar el archivo de hosts haciendo ping al cuadro SQL desde el servidor de aplicaciones a través de una línea de comando. O, alternativamente, cree un DSN con el Administrador ODBC dentro del Panel de control y pruebe la conexión allí.

Para consultas de larga duración

Implemente un valor de tiempo de espera de comando más largo para las cadenas de conexión de la aplicación que se conectan al SQL Server.

Ejemplo

<connectionStrings> 
    <add name="webconfigconnectionString" connectionString="server=SQLServerName;database=dbName;uid=u‌​serName;password=ABC‌​123;Timeout=120" />
</connectionStrings>
Picadura
fuente
6

Este no es un problema de base de datos. No hay cambios en el lado de la base de datos que puedan resolver este problema. Este error es causado por un ancho de banda de red alto o un error en su aplicación. Le sugiero que envíe este error a su equipo Wintel / Network de su empresa. Pueden cambiar el conmutador de red o administrar el ancho de banda de la red para detener este error.

usuario1987
fuente
3

Esto parece un problema de aplicación.

Mi opinión es que la aplicación está asumiendo que la conexión SQL siempre está disponible (sin verificación o prueba antes de ejecutar comandos), por lo que cuando la línea se cae o algo hace que la conexión se caiga / cierre, la aplicación produce ese mensaje.

Para reproducir, simplemente elimine la sesión SQL en el servidor SQL y obtendrá eso mismo Un mensaje similar.

Paolo
fuente