Risoluzione dei problemi: Timeout scaduto

L'errore "Timeout scaduto" è un errore comune che si verifica quando un'istanza di Motore di database di SQL Server non è in esecuzione, quando il nome del server è stato digitato in modo non corretto, a causa di problemi connessi alla rete o in relazione ai firewall.

Testo degli errori

In SQL Server Management Studio l'errore viene visualizzato nel modo seguente:

"Impossibile connettersi a <servername>."

"Timeout. Il tempo disponibile è scaduto prima del completamento dell'operazione o il server non risponde. (Microsoft SQL Server, Errore: -2)"

Da sqlcmd, tra i possibili errori sono inclusi:

"Interfacce di rete SQL: Errore nell'individuazione del server/dell'istanza specificati"

"Sqlcmd: errore: Microsoft SQL Server Native Client : Impossibile stabilire la connessione con il client."

"Sqlcmd: errore: Microsoft SQL Server Native Client : Timeout di accesso scaduto."

"Impossibile aprire una connessione a SQL Server"

"Errore durante la connessione al server. Quando ci si connette a SQL Server, è possibile che l'errore sia determinato dal fatto che le impostazioni predefinite di SQL Server non consentono le connessioni remote."

Cause tipiche dell'errore

Causa

Soluzione

Nome del server digitato erroneamente.

Riprovare inserendo il nome del server corretto.

Il servizio SQL Server sul server non è in esecuzione.

Avviare l'istanza di Motore di database di SQL Server.

La porta TCP/IP per l'istanza di Motore di database è bloccata da un firewall.

Configurare il firewall per consentire l'accesso a Motore di database.

Motore di database non è in attesa sulla porta 1433 perché è stata modificato o perché non è l'istanza predefinita e il servizio SQL Server non è in esecuzione.

Avviare il servizio SQL Server Browser oppure connettersi specificando il numero di porta TCP/IP.

Il servizio SQL Server Browser è in esecuzione ma la porta UDP 1434 è bloccata da un firewall.

Configurare il firewall per consentire l'accesso alla porta UPD 1434 sul server, oppure connettersi specificando il numero di porta TCP/IP.

Il client e il server non sono configurati per utilizzare lo stesso protocollo di rete.

Utilizzando Gestione configurazione SQL Server, confermare che sia il server sia i computer client abbiano almeno un protocollo in comune.

La rete non è in grado di risolvere il nome del server su un indirizzo IP. È possibile verificarlo utilizzando il programma PING.

Risolvere il problema di risoluzione del nome computer sulla rete o connettersi tramite l'indirizzo IP del server. Non si tratta di un problema legato a SQL Server. Per assistenza, consultare la documentazione di Windows oppure l'amministratore di rete.

La rete non è in grado di connettersi tramite l'indirizzo IP. È possibile verificarlo utilizzando il programma PING.

Risolvere sul problema TCP/IP sulla rete. Non si tratta di un problema legato a SQL Server. Per assistenza, consultare la documentazione di Windows oppure l'amministratore di rete.

Errori non comuni

Più indirizzi IP del server

I client in Windows Vista o Windows Server 2008 possono ricevere questo errore durante la connessione a un'istanza denominata di SQL Server installata in un computer cluster o non cluster con più indirizzi IP. Questo problema può verificarsi per tutte le versioni di SQL Server.

Causa

Durante la connessione a un'istanza denominata in un computer remoto, il client utilizza UPD (User Datagram Protocol) per connettersi al servizio SQL Server Browser nel computer o nel cluster SQL Server per ottenere l'endpoint della connessione, ovvero il numero di porta TCP o la named pipe.

I firewall nel client Windows Vista o Windows Server 2008 non consentono il mapping libero delle origini per UDP. Ciò significa che la risposta deve essere restituita dallo stesso indirizzo IP su cui è stata eseguita la query. Se la risposta non proviene dall'indirizzo IP di destinazione originale, il firewall del client eliminerà il pacchetto. Questo problema può verificarsi quando si tenta di connettersi a un computer server cluster o non cluster associato a più indirizzi IP.

Nella tabella seguente vengono descritte le combinazioni di sistemi operativi che possono provocare l'eliminazione di pacchetti UDP. Non sono consentite le connessioni a un'istanza denominata di SQL Server o a un'istanza predefinita di SQL Server che non sia in attesa sulla porta TCP 1433.

Sistema operativo client

Sistema operativo che esegue SQL Server

SQL Server 2008

risultato

SQL Server 2005

risultato

Windows XP o Windows Server 2003

Windows XP o Windows Server 2003

I pacchetti UDP non vengono eliminati.

I pacchetti UDP non vengono eliminati.

Windows XP o Windows Server 2003

Windows Vista o Windows Server 2003

I pacchetti UDP non vengono eliminati.

I pacchetti UDP non vengono eliminati.

Windows Vista o Windows Server 2008

Windows XP o Windows Server 2003

I pacchetti UDP vengono eliminati. Errore di connessione.

I pacchetti UDP vengono eliminati. Errore di connessione.

Windows Vista o Windows Server 2008

Windows Vista o Windows Server 2008 (x86, IA64)

I pacchetti UDP non vengono eliminati.

I pacchetti UDP vengono eliminati. Errore di connessione.

Windows Vista o Windows Server 2008

Windows Vista o Windows Server 2008 (x64)

I pacchetti UDP vengono eliminati. Errore di connessione.

I pacchetti UDP vengono eliminati. Errore di connessione.

Soluzione

Per risolvere il problema, effettuare una delle azioni seguenti:

  • Specificare il numero di porta TCP o il nome della named pipe come parte del nome del server nella stringa di connessione.

  • Creare un'eccezione in Windows Firewall con protezione avanzata nel computer client.

    Nota di attenzioneAttenzione

    La presenza di eccezioni nel firewall può rendere un computer o una rete più vulnerabile agli attacchi di utenti malintenzionati o di software dannoso, ad esempio un virus. Poiché questa soluzione non è consigliata, l'implementazione di tali informazioni è a discrezione dell'utente nei casi in cui qualsiasi altra alternativa risulti inattuabile.

    L'eccezione può essere una delle seguenti:

    • Aggiungere una regola relativa a un'eccezione per l'applicazione che si connette a SQL Server.

    • Aggiungere una regola per il traffico in ingresso che consenta il traffico da tutti gli indirizzi IP possibili del computer o del cluster SQL Server.

Turco o azeri

I tentativi di connessione possono avere esito negativo quando la lingua corrente è Turco o Azero e il nome del server include "I". Per evitare questo problema, connettersi al server utilizzando l'indirizzo IP. Se la "I" è presente nel nome dell'istanza, alla connessione specificare il numero di porta TCP/IP. Per connettersi a una porta specifica, utilizzare un alias.

[!NOTA]

Per la risoluzione dei problemi di connessione, utilizzare l'esercitazione Esercitazione: Introduzione al motore di database.