Lesson 3 | SQL Client/Server Architecture |
Objective | Explain SQL Server Architecture |
Explain SQL Server Architecture
Microsoft SQL Server exists for the sole purpose of performing the following tasks:
- Accepting information requests from the calling application.
- Processing the information.
- Returning information to the calling application.
Whereas this course is primarily concerned with how SQL Server processes information, this lesson will talk about how SQL Server accepts and returns information.
- The Calling Application
The application that makes and receives requests for information is called the client application, or simply, the client. The client makes requests to SQL Server, which is known simply as the server. This type of architecture is known as client/server.
Usually, the client and the server are located on different computers.
Connecting the Server
For the client and server to be able to communicate with each other, a common communication method, called a
protocol, or a
net-library, must be in place. Otherwise, information cannot be exchanged over a connection. This would be similar to a telephone conversation in which neither of the parties spoke the same language.
- Role of the net-library:
The net-library resides on both the client and server sides, in order to translate information on both ends. The net-library is specified at the network level, and can be any standard network
The Net-Library is a component of SQL Server's architecture that handles network communication protocols, translating and managing the exchange of data between the client application and the SQL Server instance.
On the client side, the Net-Library translates the client application's requests (e.g., SQL queries) into a format that can be sent over the network using a specific protocol, such as TCP/IP, Named Pipes, or Shared Memory. It also interprets the responses received from the server and passes them back to the client application.
On the server side, the Net-Library listens for incoming client requests, interprets them, and forwards them to the SQL Server engine for processing. After the server processes the request, the Net-Library formats the response and sends it back to the client over the network.
In summary, the Net-Library acts as an intermediary on both ends, ensuring that communication between the client and server is properly translated and handled, regardless of the underlying network protocol used.
- Net-library Network Protocols
Net-library supports all of the standard protocols:
- Named Pipes,
- Multi-Protocol,
- TCP/IP,
- IPX/SPX,
- AppleTalk
- Banyan VINES, and even
- shared memory.
However, not all protocols are available on all platforms. The following table illustrates which libraries are available on which platforms:
Library | Windows (Client Library) | Windows (Server Library) | Windows XP (Client Library) | Windows XP (Server Library) |
Named Pipes | Yes | Yes | Yes | No |
Multi-Protocol | Yes | Yes | Yes | Yes |
TCP/IP | Yes | Yes | Yes | Yes |
IPX/SPX | Yes | Yes | Yes | Yes |
AppleTalk | Yes | Yes | No | No |
Banyan VINES | Yes | Yes | Yes | No |
Shared memory | No | No | Yes | Yes |
Changing protocols
Putting it all together
So, how does it all fit together? Well, your application makes a call through an Application Programming Interface, or API, to a provider (if your application is OLE DB ), a driver (if your application is ODBC), or a DB-library (if your application is DB-library).
This call is then passed through the network using the Client-side Net-library, across your LAN or WAN, to the server-side Net-library, and finally on to SQL Server. The request is processed and returned in the reverse order.
