Risoluzione dei problemi: La connessione viene interrotta forzatamente
Questo errore può verificarsi quando ci si connette a SQL Server tramite TCP/IP.
Testo del messaggio di errore
Il messaggio di errore può essere visualizzato nei formati seguenti:
TCP_PROV: Connessione in corso interrotta forzatamente dall'host remoto.
"Numero providerNum: 7, Errore: 10054, Messaggio di errore: "Provider TCP: Connessione in corso interrotta forzatamente dall'host remoto".
Eccezione non gestita: Si è verificato un errore a livello di trasporto mentre si stava inviando la richiesta al server. (provider: Provider TCP, errore: 0 - Connessione in corso interrotta forzatamente dall'host remoto).
Cause tipiche dell'errore
Nella tabella seguente vengono elencate le cause tipiche e le soluzioni per l'errore.
Causa |
Soluzione |
---|---|
Il client si connette con una versione non supportata di SQL Server Native Client. |
Aggiornare il computer client alla versione server di SQL Server Native Client. |
Il traffico TCP è interrotto in alcuni punti a causa di problemi nell'hardware di rete. |
Analizzare i messaggi TCP SYN, ACK e FIN tramite programmi di monitoraggio di rete. |
È possibile che alcune connessioni vengano interrotte a causa dell'impostazione SynAttackProtect. |
Vedere la sezione seguente, "Quando il prodotto viene eseguito in Windows Server 2003 SP1, è possibile che venga imposta la chiusura delle connessioni". |
Quando il prodotto viene eseguito in Windows Server 2003 SP1, è possibile che venga imposta la chiusura delle connessioni
Durante i test di scalabilità in cui vengono eseguiti numerosi tentativi di connessione client a un'istanza del Motore di database di SQL Server in esecuzione su Windows Server 2003 Service Pack 1, è possibile che le connessioni vengano interrotte se la frequenza di ricezione delle richieste è superiore alla capacità di SQL Server di gestirle. Si tratta di una funzionalità di protezione di Windows Server 2003 Service Pack 1, che implementa una coda limitata per le richieste di connessione TCP in ingresso.
Per risolvere il problema, utilizzare l'utilità regedit.exe per aggiungere la chiave del Registro di sistema seguente:
Chiave |
Tipo |
Nome |
Valore |
---|---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ |
DWORD |
SynAttackProtect |
00000000 |
Nota sulla protezione |
---|
L'impostazione di questa chiave del Registro di sistema può esporre il server a un attacco Denial of Service di tipo SYN flood. Aggiungere questo valore del Registro di sistema solo se necessario e dopo aver valutato attentamente i rischi di protezione. Al termine del test rimuovere questo valore del Registro di sistema. |