Por que recebo este erro “[DBNETLIB][ConnectionRead (recv()).]Erro geral de rede” com páginas ASP

StackOverflow https://stackoverflow.com/questions/46841

Pergunta

Ocasionalmente, em um site ASP (clássico), os usuários receberão este erro:

[DBNETLIB][ConnectionRead (recv()).]General network error.

Parece ser aleatório e não conectado a nenhuma página específica.O servidor SQL é separado do servidor web e meu palpite é que de vez em quando o "link" entre os dois cai.Problema de roteador/switch...ou alguém já teve esse problema antes?

Foi útil?

Solução

Usando a mesma configuração que a sua (ou seja, servidor web e de banco de dados separados), tenho visto isso de vez em quando e sempre houve um problema de conexão entre os servidores - normalmente quando o servidor de banco de dados está sendo reinicializado, mas às vezes quando há uma comunicação problema em algum lugar do sistema.Eu não vi isso ser acionado por nenhum problema com o próprio código ASP, e é por isso que você o vê aparentemente de forma aleatória e não conectado a uma página específica.

Outras dicas

Eu queria adicionar este recurso à discussão aqui, pois é um erro muito comum e bastante confuso para diagnosticar.Este é um PowerPoint que a Microsoft elaborou sobre o tema:

http://support.microsoft.com/kb/875285/en-us

Eu já vi esse erro muitas vezes.Isso pode ser causado por muitas coisas, incluindo erros de rede :).

Mas um dos motivos pode ser o recurso integrado do MS-SQL.

O recurso detecta ataques DoS – neste caso, muitas solicitações do servidor web :).

Mas não tenho ideia de como consertamos isso :(.

Gerenciador de configuração do servidor SQL

Desabilitar TCP/IP, habilitar memória compartilhada e pipes nomeados

Boa sorte !

Não é exatamente uma solução e não é o mesmo ambiente.No entanto, recebo esse erro em um programa VBA/Excel, e o problema é que tenho uma transação suspensa que não foi enviada no SQL Server Management Studio (SSMS).Depois de fechar o SSMS, tudo funciona.Portanto, a lição é que uma transação suspensa pode impedir o prosseguimento dos sprocs (fato óbvio, eu sei!).Espero que isso ajude alguém aqui.

abra o prompt de comando - execute como administrador e digite o seguinte comando no lado do cliente

netsh advfirewall set allprofiles state off

FWIW, recebi esse erro do Excel, que travava em um EXEC que funcionava bem no SSMS.Já vi consultas com problemas antes, que também estavam OK no SSMS, devido à 'detecção de parâmetros' e planos de consulta em cache inadequados.Fazer uma pequena edição no SP resolveu o problema e funcionou bem depois em sua forma original.Eu estaria interessado em saber se alguém também encontrou esse cenário.Experimente o bom e velho OPTION (OPTIMIZE FOR UNKNOWN) :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top