Vous ne pouvez pas vous connecter à une instance locale de SERVEUR SQL sur un ordinateur Windows XP ou sur un ordinateur Windows 2000 lorsque vous utilisez "localhost" dans le nom de tuyau

S’applique à : Microsoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise EditionMicrosoft SQL Server 2005 Enterprise X64 Edition

Bug : 443555 (SQLBUDT)

Symptômes


Sur un ordinateur Microsoft Windows XP ou sur un ordinateur Microsoft Windows 2000, vous utilisez le protocole Named Pipes pour vous connecter à une instance locale de Microsoft SQL Server 2005 ou Microsoft SQL Server 2000. Lorsque vous utilisez "localhost" dans le nom de pipe, vous ne pouvez pas vous connecter à l'instance de SQL Server. Selon l'outil que vous utilisez pour vous connecter à l'instance de SQL Server, vous rencontrez l'un des problèmes suivants :
  • Si vous utilisez l'utilitaire de ligne de commande Osql.exe pour vous connecter à l'instance locale de SQL Server 2000, vous recevez le message d'erreur suivant :
    [DBNETLIB] SQL Server n'existe pas ou l'accès refusé. [DBNETLIB] ConnectionOpen (Connect()).
  • Si vous utilisez l'utilitaire sqlcmd.exe de la ligne de commande pour vous connecter à l'instance locale de SQL Server 2005, vous recevez le message d'erreur suivant :
    HResult 0x34, Niveau 16, État 1 Fournisseur de tuyaux nommés: Impossible d'ouvrir une connexion à SQL Server [52]. Sqlcmd: Erreur: Microsoft SQL Native Client : Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cette défaillance peut être causée par le fait que sous les paramètres par défaut SQL Server ne permet pas les connexions à distance. Sqlcmd: Erreur: Microsoft SQL Native Client : Temps de connexion expiré.
Remarque Ce problème ne se produit pas sur les ordinateurs qui exécutent Microsoft Windows Server 2003 ou des versions ultérieures de Windows.

Cause


Ce problème se produit parce que la version de Microsoft Data Access Components (MDAC) qui est inclus avec Windows XP et Windows 2000 ne prend pas en charge l'utilisation de "localhost" dans un nom de pipe.

Résolution


Pour résoudre ce problème, appliquez l’une des méthodes suivantes :
  • Utilisez une autre représentation du nom de l'adresse hôte locale au lieu de «localhost». Les représentations alternatives possibles comprennent les suivantes :
    • 127.0.0.1
    • "."
    • Le nom de l'hôte local réel
  • Utilisez un protocole de connexion différent, tel que TCP/IP.

Statut


Ce comportement est inhérent au produit.

Informations supplémentaires


Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
824684 Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft