Hi

Below are the differences between named pipes and TCPIP (reference: saurabh sinha Hand book)

Named Pipes:
1. Named Pipes uses Inter-Process Communication (IPC) channels for efficient inter-server communication, as well as local area network (LAN) communication.
2. The Named Pipes protocol has some enhancements in SQL Server 2008 including support for encrypted traffic, but because of the excessive overhead of Named Pipes when connecting across networks or firewalls, and the additional port that Named Pipes requires to be opened (445),
3. It is generally a good idea to leave the Named Pipes protocol disabled.
4. There are many applications that take advantage of the Named Pipes protocol because they were designed for local network implementations.
5. Named Pipes provides easy access to Remote Procedure Calls (RPC) within a single security domain, and so is advantageous to these applications.
6. If you need to support one of applications need access to (RPC), and the SQL Server is not exposed to external traffic, the risk of enabling the Named Pipes protocol and corresponding endpoint is minimal.
7. Named Pipes protocol also offers high-performance benefits when used by client applications residing on the same box as the SQL Server database that's being accessed,
8. Named Pipes can also facilitate client connectivity to remote SQL Server databases or to SQL Server hosts on different machines
9. Named Pipes has two configurable properties
• Enabled: The Enabled property works the same as the Shared Memory protocol.
• Pipe Name: The Pipe Name specifies the inter-process pipe that SQL Server will listen on.
The default pipe is \\.\pipe\sql\query.

TCP/IP:
1. The TCP/IP protocol is the primary and preferred protocol for most SQL Server installations.
2. It allows communication across interconnected networks of computers with diverse hardware and operating systems.
3. TCP/IP is considered as the first choice after Shared Memory, because of its inherent network traffic routing standards and advanced security features.
4. It is configured on two separate tabs on the TCP/IP Properties window,
• The Protocol tab
• The IP Addresses tab


The Protocol tab has the following 3 configurable properties from sql2008 and 4th was in 2005:
• Enabled: This works the same as the other protocols.
• Keep Alive: This specifies how many milliseconds SQL Server waits to verify an idle connection is still valid by sending a KEEPALIVE packet. The default is 30,000 milliseconds.
• Listen All: This specifies whether SQL Server will listen on all IP addresses configured on the server.
• No Delay: This option specifies whether the TCP protocol queues small packets to send out larger packets. This queuing is typically undesirable in transaction-based systems, and so it should be left in its default configuration of No.
For forcing TCP/IP connections instead of Named Pipes connections is to use an IP address (instead of a host-name) as the data source within your connection strings, which forces the use of TCP/IP connectivity or pre-pend "tcp:" to the front of your host names in the data source section of your connection string.