Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

You cannot connect to a local instance of SQL Server on a Windows XP-based computer or on a Windows 2000-based computer when you use "localhost" in the pipe name


View products that this article applies to.

Bug #: 443555 (SQLBUDT)

↑ Back to the top


Symptoms

On a Microsoft Windows XP-based computer or on a Microsoft Windows 2000-based computer, you use the Named Pipes protocol to connect to a local instance of Microsoft SQL Server 2005 or Microsoft SQL Server 2000. When you use "localhost" in the pipe name, you cannot connect to the instance of SQL Server. Depending on the tool that you use to connect to the instance of SQL Server, you experience one of the following issues:
  • If you use the Osql.exe command-line utility to connect to the local instance of SQL Server 2000, you receive the following error message:
    [DBNETLIB]SQL Server does not exist or access denied. [DBNETLIB]ConnectionOpen (Connect()).
  • If you use the Sqlcmd.exe command-line utility to connect to the local instance of SQL Server 2005, you receive the following error message:
    HResult 0x34, Level 16, State 1 Named Pipes Provider: Could not open a connection to SQL Server [52]. Sqlcmd: Error: Microsoft SQL Native Client : An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.



    Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired.
Note This issue does not occur on computers that are running Microsoft Windows Server 2003 or later versions of Windows.

↑ Back to the top


Cause

This issue occurs because the version of Microsoft Data Access Components (MDAC) that is included with Windows XP and Windows 2000 does not support using "localhost" in a pipe name.

↑ Back to the top


Resolution

To resolve this issue, use one of the following methods:
  • Use an alternative representation of the name of the local host address instead of "localhost". Possible alternative representations include the following:
    • 127.0.0.1
    • "."
    • The actual local host name
  • Use a different connection protocol, such as TCP/IP.

↑ Back to the top


Status

This behavior is by design.

↑ Back to the top


More Information

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

↑ Back to the top


Keywords: kbentirenet, kbexpertiseadvanced, kbtshoot, kbprb, kbinfo, kbpubtypekc, kb, kbrtmpublic

↑ Back to the top

Article Info
Article ID : 929152
Revision : 5
Created on : 11/20/2019
Published on : 11/20/2019
Exists online : False
Views : 402