I struggled for some time yesterday, attempting to log into a SQL Server 2008 instance on a domain-joined server from a non-domain-joined client. The computers in question:

-fhsvr is a domain-joined computer running a SQL Server 2008 Express instance.
-The instance is the default SQLEXPRESS, so the full path to the instance is fhsvr\SQLEXPRESS.
-posregister1 is the client computer I am attempting to connect from. It is not domain-joined.

I am attempting to connect using named pipes and SQL Server authentication, which are both enabled. Ports are all standard. All necessary (and some unnecessary) firewall exceptions have been made. Connections using SQL Server auth and named pipes both work from WITHIN the domain.

But when I try to connect from outside the domain, I get a Named Pipes Provider: Could not open a connection to SQL Server [2] error. This is resolved by storing a domain credential in the Windows credential store on the non-domain-joined machine, but that, obviously, is not a good long-term solution.

Given that an identical connection string works from within the domain, what is likely to be causing this issue when attempting to connect from outside the domain? I should note, too, that the computers are able to communicate fine. As noted, just adding a domain credential to the Windows credential store fixes the issue, so it's clearly not a networking/firewall/etc. issue.

Is there some GPO which may be affecting this? Is there a setting in SQL Server that might affect this?

Ah, one more note: We're ultimately trying to connect point of sale software here, and, unfortunately, the software only supports connections using named pipes -- making a straight TCP/IP connection without named pipes isn't supported.

Thanks for any help you can offer.


There's a GPO: "Network access: Named Pipes that can be accessed anonymously" The default value for a domain-connected server does not allow connections to named pipes for SQL Server.

The pipe name for a default instance is "sql\query". You'll have to look up your pipe name for a named instance under SQL Server Configuration Manager - Network Configuration - Protocols - Named Pipes.

More here: http://technet.microsoft.com/en-us/library/jj852278.aspx

  • Thanks. I'll check this out when I talk to this client later today. – James Westbury Mar 20 '14 at 18:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.