O nome da rede especificado não está mais disponível

10

Temos um aplicativo que acessa o banco de dados (Sql server 2014 enterprise edition). O aplicativo chama procedimentos armazenados para acessar o banco de dados. Tudo estava funcionando bem, até recentemente começar a enviar o seguinte erro e parar os aplicativos. A reinicialização do aplicativo corrige o problema temporariamente, mas o mesmo erro ocorre posteriormente.

Erro: ocorreu um erro no nível de transporte ao receber resultados do servidor. (Fornecedor: TCP Provider, erro: 0 - O nome da rede especificado não está mais disponível.)

Fiz muita pesquisa, a maioria apontando como um problema de rede, mas não consegui encontrar nada para realmente resolver o problema. Alguém sabe que alteração devo fazer no lado do banco de dados para resolver esse problema. Eu aprecio muito todas as sugestões.

Hailegziabher Dechassa
fonte

Respostas:

8

Parece problemas de resolução de DNS ou consultas demoradas.

Para solução de problemas de DNS

Como um Band-Aid e auxílio para solução de problemas, adicione e entre no arquivo de hosts nos servidores de aplicativos (não no SQL Server) em c: \ windows \ system32 \ drivers \ etc

SQLServerIPAddress SQLServerName

Exemplo:

172.16.0.5 ProductionSQLBox

Dessa forma, o nome do SQL Server será resolvido pelo arquivo hosts até que você encontre o problema real do que está acontecendo com a resolução de nomes.

Certifique-se de testar o arquivo hosts executando o ping na caixa SQL do servidor de aplicativos por meio de uma linha de comando. Ou, alternativamente, crie um DSN com o Administrador ODBC no Painel de Controle e teste a conexão lá.

Para consultas demoradas

Implemente um valor de tempo limite de comando mais longo para as seqüências de conexão do aplicativo conectadas ao SQL Server.

Exemplo

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

Este não é um problema do banco de dados. Não há alterações no lado do banco de dados que possam resolver esse problema. Este erro é causado por alta largura de banda da rede ou erro no seu aplicativo. Sugiro que você encaminhe esse erro para a equipe de Wintel / Rede da sua empresa. Eles podem alterar o comutador de rede ou gerenciar a largura de banda da rede para interromper esse erro.

user1987
fonte
3

Parece um problema de aplicativo.

Minha opinião é que o aplicativo está assumindo que a conexão SQL está sempre disponível (sem verificação ou teste antes de executar comandos); portanto, quando a linha cai ou algo faz a conexão cair / fechar, o aplicativo produz essa mensagem.

Para reproduzir, basta matar a sessão SQL no servidor SQL e você obterá exatamente o mesmo uma mensagem semelhante.

Paolo
fonte