una solucion servidor relacionado puede nombre mismo mientras instancia existe establecia esta especifico especificado error encontró disponible denegado dbnetlib connectionopen conexion conectar con acceso sql-server-2008 networking ssis windows-server-2008 virtual-machine

sql server 2008 - solucion - Cómo determinar la causa raíz de la falla del enlace de comunicación Proveedor de TCP: ¿El nombre de red especificado ya no está disponible?



no existe el servidor sql server o se ha denegado el acceso al mismo (3)

  1. En primer lugar, ¿trató de eliminar la configuración de envío de descarga grande en la nic?
  2. Segundo punto, ¿puedes ejecutar un wireshark para capturar los paquetes si puedes reproducir el error?
  3. Tercer punto, ¿trataste de cambiar el vnic de la máquina virtual? algún modelo puede causar problemas. (Si usa vmxnet3, pruebe e1000, etc.)
  4. El último punto, ¿tiene un conmutador virtual entre ellos, están en el mismo host, un interruptor físico entre, etc ... Un conmutador mal configurado puede dejar caer el tráfico, si dentro del host el mismo host y el mismo conmutador virtual es la mejor prueba, como el tráfico nunca sale del servidor.

Aquí está mi último esfuerzo para revisar esta pregunta. Pero esta vez, estoy tratando de seguir el buen consejo dado por Oded en su artículo Obtener buenas respuestas en StackOverflow .

Necesito averiguar cómo puedo determinar la causa raíz del siguiente error:

Communication link failure TCP Provider: The specified network name is no longer available

De vez en cuando, veo este error al ejecutar un conjunto de paquetes de SSIS. Este error puede ocurrir cuando se ejecutan de uno a muchos paquetes desde:

  1. Un trabajo del Agente SQL Server
  2. Un archivo por lotes
  3. En modo de depuración de BIDS

El mensaje de error completo que veo es el siguiente:

SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Communication link failure". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "TCP Provider: The specified network name is no longer available. ". SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Protocol error in TDS stream". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Communication link failure". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "TCP Provider: An existing connection was forcibly closed by the remote host."

Esta es una descripción general de cómo he diseñado el proceso de ETL:

  • Dos servidores
  • Ambas son máquinas virtuales
  • Los paquetes de SSIS se ejecutan en un servidor de aplicaciones
  • La base de datos de SQL Server vive en un servidor de base de datos

Utilizo un administrador de conexión OLE DB para conectarme desde el paquete SSIS en el servidor de aplicaciones a la base de datos de SQL Server en el servidor de la base de datos.

Los paquetes se ejecutan como una implementación de sistema de archivos en el servidor de aplicaciones y no como una implementación de base de datos en el servidor de la base de datos.

La razón principal de esto es que el ETL está integrado con un conjunto de herramientas que no se encuentran y las unidades no accesibles al servidor de la base de datos. Estas herramientas incluyen Apex Data Loader for Salesforce y pgAdmin III.

Hasta ahora no puedo reproducir este error de manera consistente. Sin embargo, esto es lo que he observado:

  • La falla ocurre con mayor frecuencia durante el horario comercial normal
  • La falla ocurre con menos frecuencia durante las horas libres

Durante aproximadamente un período de dos horas un viernes por la mañana, pude reproducir el error con éxito en un paquete específico.

El error ocurrió durante un flujo de datos grande si se habilitó una llamada de paquete hijo que precede al flujo de datos grande.

El error no se produjo durante el mismo flujo de datos grandes si la llamada al paquete hijo que precede al flujo de datos grandes estaba deshabilitada.

El paquete secundario en cuestión devuelve la llamada a la base de datos para recuperar una pequeña cantidad de información para su uso en un cuerpo de correo electrónico y luego envía el correo electrónico.

Se siente como si tal vez se está excediendo un límite de recursos?

Tal vez un límite de conexión?

Me pregunto qué herramientas debería usar para tratar de determinar la causa raíz del error.

Los detalles técnicos sobre los dos servidores involucrados se enumeran a continuación:

Información del Servidor SQL y del Servidor de Base de Datos:
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) 17 de junio de 2011 00:54:03 Copyright (c) Microsoft Corporation Enterprise Edition (64 bits) en Windows NT 6.1 (Build 7601: Service Pack 1) (Hipervisor )

Información de SSIS:
Microsoft Visual Studio 2008 versión 9.0.30729.1 SP Microsoft .NET Framework versión 3.5 SP1

Información del servidor de aplicaciones:
Nombre del sistema operativo: Microsoft Windows Server 2008 R2 Versión estándar: 6.1.7601 Service Pack 1 Build 7601

Investigué el mensaje de error en línea y lo encontré, pero me gustaría obtener información de un experto antes de continuar:

Cómo deshabilitar TCP Chimney, TCPIP Offload Engine (TOE) o TCP Segmentation Offload (TSO).

Uso de los comandos de Netsh para habilitar o deshabilitar la descarga de la chimenea TCP

Cualquier ayuda es apreciada.

Gracias

ACTUALIZAR:

Pruebas adicionales muestran que esto no es "algo de SSIS" ya que el mismo error se ve con la misma velocidad cuando se usa SQL Server Management Studio. La complejidad de la consulta no hace que el error sea más o menos probable. En un intento de resolver, hemos intentado una solución (a continuación):


# 1 Cómo deshabilitar TCP Chimney, TCPIP Offload Engine (TOE) o TCP Segmentation Offload (TSO).

Este fue nuestro primer intento. Chimenea TCP ahora está deshabilitada en el Servidor de aplicaciones y el Servidor de base de datos. Las pruebas muestran que el mismo error ocurre a la misma velocidad.


Entonces, ¿a dónde ir desde aquí? Honestamente, no estoy seguro. Una opción aparentemente buena sigue siendo:

  • Servidor de aplicaciones y servidor de base de datos Las instalaciones de SQL Server no coinciden exactamente

  • Servidor de aplicaciones = SQL Server 2008 (SP1) - 10.0.2531.0 (X64)

  • Servidor de base de datos = SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)

El plan es actualizar la instalación de SQL Server en el servidor de aplicaciones. Es una especie de éxito y esperanza, pero en este momento esta parece ser la mejor opción. Algo en mi cerebro me dice que esto podría resolverse arreglando un problema de hardware (es decir, una reparación o un reemplazo) y que puede que no haya nada que la configuración de hardware y software pueda hacer al respecto.

Sin embargo, todavía no estoy seguro de cómo determinar una causa raíz. Todavía me pregunto qué herramientas debería usar para diagnosticar la causa raíz.



Intente utilizar ODBC en lugar de OLE DB para su conexión a la base de datos.