Bug #: 443555 (SQLBUDT)
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.
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.
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.
Status
This behavior is by design.
More Information
For more information, click the following article number to view the article in the Microsoft Knowledge Base: