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  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.