No puede conectarse a una instancia local de SQL Server en un equipo basado en Windows XP o en un equipo basado en Windows 2000 cuando se usa "localhost" en el nombre de la canalización

Se aplica a: Microsoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise EditionMicrosoft SQL Server 2005 Enterprise X64 Edition

N.o de error: 443555 (SQLBUDT)

Síntomas


En un equipo basado en Microsoft Windows XP o en un equipo basado en Microsoft Windows 2000, utilice el protocolo Canalizaciones con nombre para conectarse a una instancia local de Microsoft SQL Server 2005 o Microsoft SQL Server 2000. Cuando se usa "localhost" en el nombre de canalización, no se puede conectar a la instancia de SQL Server. Según la herramienta que utilice para conectarse a la instancia de SQL ServerSQL Server, experimenta uno de los siguientes problemas:
  • Si utiliza la utilidad de línea de comandos Osql.exe para conectarse a la instancia local de SQL Server 2000, recibirá el siguiente mensaje de error:
    [DBNETLIB] SQL ServerSQL Server no existe ni se deniega el acceso. [DBNETLIB] ConnectionOpen (Connect()).
  • Si utiliza la utilidad de línea de comandos Sqlcmd.exe para conectarse a la instancia local de SQL Server 2005, recibirá el siguiente mensaje de error:
    HResult 0x34, Nivel 16, Estado 1 Proveedor de canalizaciones con nombre: No se pudo abrir una conexión a SQL Server [52]. Sqlcmd: Error: Microsoft SQL Native Client : Se ha producido un error al establecer una conexión con el servidor. Al conectarse a SQL Server 2005, este error puede deberse al hecho de que, en la configuración predeterminada, SQL ServerSQL Server no permite conexiones remotas. Sqlcmd: Error: Microsoft SQL Native Client : Tiempo de espera de inicio de sesión expirado.
Nota Este problema no se produce en equipos que ejecutan Microsoft Windows Server 2003 o versiones posteriores de Windows.

Causa


Este problema se produce porque la versión de Microsoft Data Access Components (MDAC) que se incluye con Windows XP y Windows 2000 no admite el uso de "localhost" en un nombre de canalización.

Resolución


Para resolver este problema, utilice uno de los métodos siguientes:
  • Utilice una representación alternativa del nombre de la dirección de host local en lugar de "localhost". Entre las posibles representaciones alternativas se incluyen las siguientes:
    • 127.0.0.1
    • "."
    • El nombre de host local real
  • Utilice un protocolo de conexión diferente, como TCP/IP.

Estado


Este comportamiento es una característica del diseño de la aplicación.

Más información


Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft