Problemas ODBC do Windows 2003 - erro 10055

3

Usando o integrador de dados para extração de dados do ETL do DB2 para o SQL Server, após algum tempo, obteremos esses erros do odbc:

Communication link failure. comm rc=10055 - CWBCO1003 - Sockets error, function returned 10055

Não é possível fazer nada com o ODBC depois disso, ter que reinicializar a caixa e atualmente apenas reinicializamos a caixa todas as noites à meia-noite para tentar evitar que o problema aconteça.

Tentei isto, link mas não funcionou, quase piorou ainda mais.

Não parece haver uma solução à vista. Nenhuma outra caixa que usa o ODBC obtém esse problema que usamos. Não é possível reformatar a caixa agora, coisas legadas.

Alguém viu esse problema, o encontrou, corrigiu, atenuou?

    
por ScaleOvenStove 30.04.2009 / 23:56

3 respostas

2

Certamente uma condição de pouca memória, possivelmente causada pelo erro extremamente comum de não fechar conexões de banco de dados. Minhas recomendações são:

  1. Examine a quantidade de memória do pool não paginada disponível enquanto o processo é executado. As probabilidades são de que diminuirá constantemente até a máquina falhar. Esse é um indicador de que os soquetes não estão sendo fechados ou que os buffers de E / S do kernel não estão sendo liberados. (soquetes não fechados é mais provável)
  2. Verifique se há um provedor de serviços em camadas (LSP) desconhecido ou externo em sua pilha winsock via 'net sh winsock catalog > wsockcat.txt '. Compare a saída com seus outros servidores Windows. Suspeite primeiro de quaisquer provedores que tenham sido inseridos em sua pilha originados fora do mswsock.dll.
  3. Se o pool baixo não paginado for o problema, veja se a reinicialização do aplicativo ou o servidor DB libera memória. Você provavelmente não está usando o pool de conexões, portanto, 'sp who' e 'listar aplicativos' podem mostrar resultados interessantes se alguma camada de acesso ao banco de dados estiver deixando as conexões antigas abertas.

Se você vir os servidores de banco de dados relatando um alto número de conexões ociosas no # 3, você poderá atenuar o problema escrevendo scripts para encerrar ativamente as conexões não utilizadas do lado do servidor do soquete.

    
por 05.05.2009 / 10:22
1

Este é um tiro no escuro, mas aqui vai.

"A função retornada 10055" é um erro genérico de falta de memória ou de falta de recursos proveniente do WinSock, a biblioteca de soquetes do Windows usada pelo ODBC.

Existe uma maneira de configurar seu SQL Server para conexão do DB2 para que ele use Pipes Nomeados em vez de TCP / IP? Isso ignoraria o WinSock completamente.

    
por 01.05.2009 / 04:48
0

Uma aplicação com vazamento de identificador me causou problemas esta semana. Um dos sintomas foi que "portqry.exe" retornaria um erro Winsock 10055.

    
por 22.05.2009 / 22:13