Dépannage : expiration du délai d'attente

L'erreur « Délai d'expiration dépassé » se produit couramment lorsqu'une instance du Moteur de base de données SQL Server n'est pas active, lorsque le nom du serveur n'a pas été correctement entré ou en cas de problème de réseau ou de pare-feu.

Texte de l'erreur

Dans SQL Server Management Studio, cette erreur se présente comme suit :

« Impossible de se connecter au <nom du serveur> ».

"Délai d'attente expiré. Période de délai d'attente écoulée avant l'achèvement de l'opération, ou le serveur ne répond pas. (Microsoft SQL Server, erreur : -2)."

Dans sqlcmd, les erreurs d'attente possibles sont les suivantes :

« Interface réseau SQL : Erreur lors de la localisation du serveur/de l'instance spécifiés »

« Sqlcmd : Erreur : Microsoft SQL Server Native Client : Le client n'a pas pu établir la connexion. »

« Sqlcmd : Erreur : Microsoft SQL Server Native Client : Délai d'attente de connexion expiré. »

« Impossible d'ouvrir une connexion à SQL Server »

« Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server, cette erreur est peut être due au fait que SQL Server n'autorise pas les accès distants selon les paramètres par défaut ».

Causes courantes de cette erreur

Cause

Résolution

Erreur lors de l'entrée du nom du serveur.

Recommencez en entrant le nom de serveur correct.

Le service SQL Server n'est pas actif sur le serveur.

Démarrez l'instance de Moteur de base de données SQL Server.

Le port TCP/IP du Moteur de base de données est bloqué par un pare-feu.

Configurez le pare-feu pour autoriser l'accès au Moteur de base de données.

Le Moteur de base de données n'écoute pas sur le port 1433 parce qu'il a été modifié ou parce qu'il ne s'agit pas de l'instance par défaut et que le service SQL Server Browser n'est pas actif.

Démarrez le service SQL Server Browser ou connectez-vous en définissant le numéro de port TCP/IP.

Le service SQL Server Browser est actif, mais le port UDP 1434 est bloqué par un pare-feu.

Configurez le pare-feu pour autoriser l'accès au port UPD 1434 du serveur ou connectez-vous en définissant le numéro de port TCP/IP.

Le client et le serveur ne sont pas configurés pour utiliser le même protocole réseau.

En utilisant le Gestionnaire de configuration SQL Server, confirmez que les ordinateurs serveur et client possèdent au moins un protocole commun activé.

Le réseau ne peut pas convertir le nom du serveur en adresse IP. Vous pouvez le vérifier en utilisant le programme PING.

Résolvez le problème de conversion du nom de l'ordinateur sur le réseau ou connectez-vous en utilisant l'adresse IP du serveur. Il ne s'agit pas d'un problème SQL Server. Pour plus d'informations, consultez la documentation Windows ou contactez l'administrateur réseau.

Le réseau ne peut pas se connecter en utilisant l'adresse IP. Vous pouvez le vérifier en utilisant le programme PING.

Résolvez le problème TCP/IP sur le réseau. Il ne s'agit pas d'un problème SQL Server. Pour plus d'informations, consultez la documentation Windows ou contactez l'administrateur réseau.

Erreurs inhabituelles

Adresses IP de serveurs multiples

Les clients sur Windows Vista ou Windows Server 2008 peuvent recevoir cette erreur lors de la connexion à une instance nommée de SQL Server installée sur un cluster ou sur un ordinateur non cluster avec plusieurs adresses IP. Ce problème peut se produire pour toutes les versions de SQL Server.

Cause

Lors de la connexion à une instance nommée sur un ordinateur distant, le client utilise le protocole UDP (User Datagram Protocol) pour se connecter au service SQL Server Browser sur l'ordinateur ou cluster SQL Server afin d'obtenir le point de terminaison de connexion (canal nommé ou numéro de port TCP).

Les pare-feu sur le client Windows Vista ou Windows Server 2008 n'autorisent pas le mappage de source libre pour le protocole UDP. Autrement dit, la réponse doit provenir de l'adresse IP interrogée. Si la réponse ne provient pas de l'adresse IP ciblée à l'origine, le pare-feu client ignore le paquet. Ce problème peut se produire lorsque vous essayez de vous connecter à un serveur cluster ou un serveur non cluster qui a plusieurs adresses IP.

Le tableau suivant décrit les combinaisons de systèmes d'exploitation qui peuvent provoquer l'abandon des paquets UDP. Cela empêche la connexion à une instance nommée de SQL Server ou une instance par défaut de SQL Server qui n'écoute pas sur le port TCP 1433.

Système d'exploitation client

Système d'exploitation qui exécute SQL Server

SQL Server 2008

résultat

SQL Server 2005

résultat

Windows XP ou Windows Server 2003

Windows XP ou Windows Server 2003

Les paquets UDP ne sont pas ignorés.

Les paquets UDP ne sont pas ignorés.

Windows XP ou Windows Server 2003

Windows Vista ou Windows Server 2003

Les paquets UDP ne sont pas ignorés.

Les paquets UDP ne sont pas ignorés.

Windows Vista ou Windows Server 2008

Windows XP ou Windows Server 2003

Les paquets UDP sont ignorés. Échec de la connexion.

Les paquets UDP sont ignorés. Échec de la connexion.

Windows Vista ou Windows Server 2008

Windows Vista ou Windows Server 2008 (x86, IA64)

Les paquets UDP ne sont pas ignorés.

Les paquets UDP sont ignorés. Échec de la connexion.

Windows Vista ou Windows Server 2008

Windows Vista ou Windows Server 2008 (x64)

Les paquets UDP sont ignorés. Échec de la connexion.

Les paquets UDP sont ignorés. Échec de la connexion.

Résolution

Pour contourner ce problème, effectuez l'une des actions suivantes :

  • Spécifiez le numéro de port TCP ou le nom de canal nommé dans le cadre du nom de serveur dans la chaîne de connexion.

  • Créez une exception dans le Pare-feu Windows avec fonctions avancées de sécurité sur l'ordinateur client.

    AttentionAttention

    Les exceptions dans le pare-feu peuvent rendre un ordinateur ou un réseau plus vulnérable aux attaques par des utilisateurs malveillants ou par des logiciels malveillants tels que des virus. Nous ne recommandons pas cette solution de contournement mais nous la mettons à votre disposition afin que vous puissiez l'implémenter dans les cas où l'alternative est irréaliste.

    L'exception peut être l'une des suivantes :

    • Ajoutez une règle d'exception pour l'application qui se connecte à SQL Server.

    • Ajoutez une règle de trafic entrant qui autorise le trafic provenant de toutes les adresses IP possibles de l'ordinateur ou cluster SQL Server.

Turc ou azéri

Les tentatives de connexion peuvent échouer lorsque la langue actuelle est le turc ou l'azéri et que le nom du serveur contient « I ». Pour éviter ce problème, connectez-vous au serveur en utilisant l'adresse IP. Si « I » se trouve dans le nom d'instance, définissez le numéro de port TCP/IP lors de la connexion. Pour vous connecter à un port spécifique, utilisez un alias.

Notes

Pour résoudre plus facilement les problèmes de connexion, consultez le didacticiel Didacticiel : Mise en route du moteur de base de données.