Problem:
Today, I play with the named pipe connection. First, I disabled both TCP/IP and local system, and only enabled named pipe on both the server and client. When I connect to the server, for the 1st time, I got an error with the default 15s connection timeout limit. Then I increased the timeout to 60s. Surprisingly, the database is connected. Unfortunately, when I try a query, SQL Server hangs forever, making it practically useless.
Solution:
Then, I use np:localhost instead of localhost, amazingly, the server is quickly connected and immediately usable.