Perché ricevo questo errore "[DBNETLIB] [ConnectionRead (recv()).]Errore di rete generale" con le pagine ASP

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

Domanda

Occasionalmente, su un sito ASP (classico) gli utenti riceveranno questo errore:

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

Sembra essere casuale e non collegato a nessuna pagina particolare.Il server SQL è separato dal server Web e suppongo che ogni tanto il "collegamento" tra i due si interrompa.Problema con il router/switch...o qualcun altro ha già riscontrato questo problema?

È stato utile?

Soluzione

Utilizzando la tua stessa configurazione (ovvero server web e database separati), l'ho visto di tanto in tanto ed è sempre stato un problema di connessione tra i server, in genere quando il server del database viene riavviato ma a volte quando c'è una comunicazione problema da qualche parte nel sistema.Non l'ho visto attivato da alcun problema con il codice ASP stesso, motivo per cui lo vedi apparentemente in modo casuale e non collegato a una pagina particolare.

Altri suggerimenti

Volevo aggiungere questa risorsa alla discussione qui poiché si tratta di un errore molto comune e piuttosto complicato da diagnosticare.Questo è un PowerPoint che Microsoft ha messo insieme sull'argomento:

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

Avevo visto questo errore molte volte.Potrebbe essere causato da molte cose, inclusi anche errori di rete :).

Ma uno dei motivi potrebbe essere la funzionalità integrata di MS-SQL.

La funzionalità rileva gli attacchi DoS, in questo caso troppe richieste dal server web :).

Ma non ho idea di come abbiamo risolto il problema :(.

Gestore della configurazione del server SQL

Disabilita TCP/IP, Abilita memoria condivisa e pipe nominate

Buona fortuna !

Non è esattamente una soluzione e non è lo stesso ambiente.Tuttavia, ricevo questo errore in un programma VBA/Excel e il problema è che ho una transazione sospesa che non è stata inviata in SQL Server Management Studio (SSMS).Dopo aver chiuso SSMS, tutto funziona.Quindi la lezione è che una transazione sospesa può impedire agli sproc di procedere (fatto ovvio, lo so!).Spero che questo aiuti qualcuno qui.

apri il prompt dei comandi: esegui come amministratore e digita il seguente comando sul lato client

netsh advfirewall set allprofiles state off

FWIW, ho ricevuto questo errore da Excel, che si bloccava su un EXEC che funzionava correttamente all'interno di SSMS.Ho già visto query con problemi, che erano OK anche all'interno di SSMS, a causa dello "sniffing dei parametri" e di piani di query memorizzati nella cache inadatti.Apportare una piccola modifica all'SP ha risolto il problema e in seguito ha funzionato bene nella sua forma originale.Sarei interessato a sapere se anche qualcuno ha riscontrato questo scenario.Prova il buon vecchio OPTION (OPTIMIZE FOR UNKNOWN) :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top