Atuando em um cliente, me deparei com um JOB de DTS que executava com erro.
Inicialmente desenhamos a topologia dos servidores envolvidos:
Acompanhei com o NETMON e identificamos que a comunicação entre os servidores estava saudável a nível de rede e sistema operacional, logo não temos uma perda total dos pacotes mas uma intermitência e o log de saída do DTS evidencia isto:
Description:
SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred\
. Error code:
0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult:0x80004005 Description:
"Protocol error in TDS stream".
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult:0x80004005 Description:
"Communication link failure".
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult:
0x80004005 Description:
"TCP Provider: An existing connection was forcibly closed by the remote host.".
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult:0x80004005 Description:
"Communication link failure".
Temos habilitado nos servidores o TCP Chimney Offload que pode ocasionar este tipo de falha.
Logo: Recomendamos desabilitar este item nos servidores SQL Inicialmente no nó inactivo virar o nó testar e caso funcione executar depois nos outros nós.
Via: Netsh int ip set chimney DISABLED
OU
Caminho: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Chave: EnableTCPChimney := 0x0
Seguem alguns links sobre os alertas:
[]'s.