Il nome di rete specificato non è più disponibile


10

Abbiamo un'applicazione che accede al database (SQL Server 2014 Enterprise Edition). L'applicazione chiama una stored procedure per accedere al database. Tutto ha funzionato bene fino a poco tempo fa iniziare a inviare il seguente errore e interrompere le applicazioni. Il riavvio dell'app risolve temporaneamente il problema ma si trova di fronte lo stesso errore.

Errore: si è verificato un errore a livello di trasporto durante la ricezione dei risultati dal server. (Provider: TCP Provider, errore: 0 - Il nome di rete specificato non è più disponibile.)

Ho fatto molte ricerche che la maggior parte di loro sottolinea come un problema di rete ma non sono riuscito a trovare nulla per risolvere effettivamente il problema. Qualcuno sa quale modifica dovrei fare sul lato database per risolvere questo problema. Apprezzo molto qualsiasi suggerimento.

Risposte:


8

Sembra problemi di risoluzione DNS chiazzati o query di lunga durata.

Per la risoluzione dei problemi DNS

Come aiuto per la risoluzione dei problemi e la risoluzione dei problemi aggiungere e accedere al file hosts sui server delle app (non SQL Server) in c: \ windows \ system32 \ drivers \ etc

SQLServerIPAddress SQLServerName

Esempio:

172.16.0.5 ProductionSQLBox

In questo modo, il nome di SQL Server verrà risolto dal file hosts fino a quando non sarà possibile trovare il vero problema per ciò che accade con la risoluzione dei nomi.

Assicurarsi e testare il file hosts eseguendo il ping della casella SQL dal server delle app tramite una riga di comando. Oppure, in alternativa, creare un DSN con l'amministratore ODBC nel Pannello di controllo e testare la connessione lì.

Per query di lunga durata

Implementare un valore di timeout del comando più lungo per le stringhe di connessione dell'applicazione che si connettono a SQL Server.

Esempio

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

6

Questo non è un problema di database. Non vi è alcuna modifica sul lato del database in grado di risolvere questo problema. Questo errore è causato dall'elevata larghezza di banda della rete o dall'errore nell'applicazione. Ti suggerirei di inoltrare questo errore al tuo team Wintel / Network della tua azienda. Possono modificare lo switch di rete o gestire la larghezza di banda della rete per interrompere questo errore.


3

Sembra un problema con l'applicazione.

La mia opinione è che l'applicazione stia presupponendo che la connessione SQL sia sempre disponibile (nessun controllo o test prima di eseguire i comandi), quindi quando la linea si interrompe o qualcosa fa cadere / chiudere la connessione, l'applicazione produce quel messaggio.

Per riprodurre, semplicemente uccidi la sessione SQL sul server SQL e otterrai quello stesso un messaggio simile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.