Client network libraries are vital in SQL Server, enabling the communications link between client applications and the SQL Server system. The client must use the same client network library as the SQL Server system that the client needs to connect to. When the client connects over a LAN or WAN link, the client network library encapsulates SQL Server’s Tabular Data Stream (TDS) within the appropriate network protocol. (TDS is the protocol which SQL Server uses to accept network query requests and return results to client applications). For a local connection, a high-performance shared-memory client network library can be used. To work with client network libraries, open SQL Server Configuration Manager, click SQL Native Client Configuration, then the Client Protocols node. Here are SQL Server 2005’s client network libraries.

Shared Memory

The Shared Memory client network library is used to connect applications running on the local server and the SQL Server engine. Used by default by SQL Server Express, it provides the fastest connection to SQL Server, bypassing the system’s network stack to communicate directly using an in-memory pipe. It has no configuration options and is used by default when you name your SQL Server system using local (e.g., (local)\SQLExpress).

Virtual Interface Adapter

The Virtual Interface Adapter (VIA) protocol is used for a high-performance dedicated link between two systems. VIA provides a memory-mapped communication model, which bypasses the OS networking layers for optimum performance. For SQL Server, the VIA client network library is typically used when you want to implement high performance clusters. By default, it uses port 1433, but this setting is configurable.

Named Pipes

This client network library is best suited for LAN connections. It can be used over TCP/IP and NetBEUI network protocols. Over a LAN link, the performance is comparable to the TCP/IP client network library. By default, SQL Server listens on named pipe \\,\pipe\sql\query for client connections, but the default pipe can be changed. The named pipes connection is used by default when you name your SQL Server system using a period. (e.g., .\SQLExpress)

TCP/IP

The commonly used TCP/IP client network library works on local, LAN, and WAN connections but is best suited to LAN or WAN links. It performs better over WAN links than the chattier Named Pipes protocol. True to its name, this client network library must be used over the TCP/IP protocol. By default, it uses port 1433, but this setting is configurable.