SQL Server  «Prev  Next»

Lesson 3 SQL Client/Server Architecture
Objective Explain SQL Server Architecture

SQL Server 2025 Architecture — Client, Server, and the Request Cycle

Microsoft SQL Server 2025 exists for the sole purpose of performing three tasks: accepting information requests from calling applications, processing those requests, and returning results to the caller. This lesson explains how SQL Server fulfills each of those three responsibilities — and how the client/server architecture that makes it possible has evolved from the dedicated workstation model of the 1990s into a distributed, cloud-native communication framework that supports web APIs, microservices, AI pipelines, and serverless workloads in 2026.

The Three Core Responsibilities of SQL Server

Every SQL Server deployment — whether on-premises, containerized, or running as Azure SQL — performs the same three functions regardless of the calling application or network topology:

  1. Accepting requests — receiving T-SQL queries, stored procedure calls, batch operations, and API-driven commands from any authorized client through a supported connection protocol
  2. Processing information — parsing and optimizing the request, executing it against stored data, enforcing security and transaction rules, and applying SQL Server 2025's Intelligent Query Processing and vector workload capabilities where applicable
  3. Returning information — sending result sets, row counts, error messages, JSON output, vector similarity scores, or execution metadata back to the calling application in the format it expects

This course focuses primarily on step two — how SQL Server processes information through T-SQL statements and database objects. This lesson focuses on steps one and three — the communication layer that connects calling applications to the SQL Server engine and carries results back.

The Client/Server Model

The application that makes and receives requests for information is called the client. The SQL Server instance that receives, processes, and responds to those requests is the server. This two-role architecture is called client/server. In traditional deployments, the client and server run on separate physical machines connected through a LAN or WAN. In modern deployments, the boundary is more fluid — the client may be a containerized microservice running on the same Kubernetes node as the SQL Server instance, or a serverless Azure Function invoking Azure SQL through a managed connection pool.

In SQL Server 2025, the calling application is no longer limited to a traditional desktop or web application. The client role is fulfilled by any of the following:

All of these clients communicate with the SQL Server engine through the same underlying protocol architecture — the Tabular Data Stream (TDS) protocol — regardless of the language, framework, or platform they use.

TDS — The SQL Server Wire Protocol

The Tabular Data Stream (TDS) protocol is the proprietary application-layer protocol that SQL Server uses to communicate between clients and the server. TDS defines the format of requests sent to SQL Server and the format of results returned to the client. Every SQL Server driver, connector, and client library — including ODBC, JDBC, ADO.NET, and the Microsoft.Data.SqlClient NuGet package — implements the TDS protocol under the hood.

TDS operates over one of three transport mechanisms in SQL Server 2025:

The legacy protocols supported by SQL Server 7 — IPX/SPX, AppleTalk, Banyan VINES, and Multi-Protocol — are not supported in any version of SQL Server since SQL Server 2005. Modern SQL Server deployments use TCP/IP exclusively for remote connectivity.

SQL Server Configuration Manager

Protocol configuration in SQL Server 2025 is managed through SQL Server Configuration Manager — the replacement for the legacy Client Network Utility and Server Network Utility that appeared in SQL Server 2000 and 2005. SQL Server Configuration Manager is accessed through the Windows Start menu or by running SQLServerManager17.msc directly:

SqlServer-connection-configuration
SQL Server Configuration Manager — Protocol Configuration. TCP/IP and Shared Memory are enabled by default. Named Pipes is disabled. Each protocol can be enabled or disabled per SQL Server instance without requiring a server restart for most changes.

Server Network Utility
SQL Server Configuration Manager — SQL Server Network Configuration showing per-instance protocol settings. The TCP/IP properties dialog allows configuration of the port number, IP address bindings, and dynamic port assignment for each SQL Server instance on the machine.

SQL Server Configuration Manager controls both server-side protocol settings — which protocols the SQL Server instance listens on — and client-side alias configuration — which protocol and server address client applications use when connecting by alias name rather than explicit server address. In containerized and cloud deployments, protocol configuration is handled through environment variables and connection string parameters rather than through the Configuration Manager GUI.

The Connection Stack — From Application to SQL Server Engine

Understanding how a query travels from a calling application to the SQL Server engine and back requires understanding the full connection stack. Each layer in the stack has a specific responsibility:

Layer Responsibility Modern Examples
Application layer Constructs the T-SQL request and handles the returned result Entity Framework Core, Dapper, JDBC application code, SSMS query editor
Data access API Provides a standard interface between the application and the driver ADO.NET, ODBC, JDBC, OLE DB, Microsoft.Data.SqlClient
Driver / provider Implements the TDS protocol and manages the connection lifecycle Microsoft ODBC Driver 18 for SQL Server, Microsoft JDBC Driver 12, SqlClient
Transport protocol Carries TDS packets between client and server over the network TCP/IP (port 1433), Named Pipes, Shared Memory
SQL Server protocol layer Receives TDS packets, authenticates the connection, and passes requests inward SQL Server Network Interface (SNI) layer
SQL Server engine Parses, optimizes, and executes the T-SQL request against stored data Relational engine, storage engine, SQLOS

The request travels down this stack from the application to the engine. The result travels back up the same stack in reverse. At no point does the application communicate directly with the SQL Server engine — every request passes through the data access API and driver layers that handle protocol negotiation, authentication, encryption, and connection pooling on behalf of the application.

Connection Strings and Modern Connectivity

A connection string is the configuration object that tells a driver how to connect to a SQL Server instance — the server address, database name, authentication method, encryption settings, and connection timeout. In SQL Server 2025, connection strings typically specify:

-- ADO.NET / SqlClient connection string for SQL Server 2025
Server=myserver.database.windows.net,1433;
Database=CourseDB;
Authentication=Active Directory Default;
Encrypt=True;
TrustServerCertificate=False;
Connection Timeout=30;

Key changes from older SQL Server connection strings include Encrypt=True as the default in SQL Server 2022 and 2025 drivers — all connections are encrypted with TLS by default, eliminating the unencrypted connections that were common in SQL Server 2000–2012 deployments. Authentication=Active Directory Default uses the caller's Azure Active Directory (Microsoft Entra ID) identity rather than a SQL Server login, supporting passwordless authentication for cloud and hybrid deployments.

Processing — What Happens Inside SQL Server

Once a request arrives at the SQL Server engine through the protocol layer, three internal subsystems process it:

The relational engine parses the T-SQL statement, validates object references and permissions, generates a query execution plan through the query optimizer, and executes the plan. In SQL Server 2025, the relational engine incorporates Intelligent Query Processing (IQP) — a suite of adaptive optimizations including adaptive joins, batch mode on row store, and parameter sensitivity plan optimization that improve execution plan quality without requiring manual query hints.

The storage engine manages all data access — reading pages from the buffer pool cache or disk, managing transaction log writes, enforcing locking and isolation levels, and handling index maintenance. In SQL Server 2025, the storage engine also manages the new native VECTOR data type, storing high-dimensional floating-point arrays alongside traditional relational data in the same table.

SQLOS manages CPU scheduling, memory allocation, and I/O coordination across all SQL Server processes. SQLOS provides consistent resource management behavior whether SQL Server runs on Windows Server, Linux, or a container platform.

Returning Information — Result Sets, JSON, and Vector Scores

SQL Server 2025 returns information to the calling application in several formats depending on the query and the application's request:

Summary

SQL Server 2025 fulfills three responsibilities in every interaction: accepting requests from calling applications, processing them through the relational engine and storage engine, and returning results to the caller. The client/server architecture that governs this interaction uses the TDS protocol carried over TCP/IP, Named Pipes, or Shared Memory. Modern calling applications include web APIs, microservices, AI pipelines, and serverless functions — not just traditional desktop clients. SQL Server Configuration Manager controls protocol configuration on Windows deployments, replacing the legacy Client and Server Network Utilities. Connection strings govern how drivers locate and authenticate to SQL Server instances, with TLS encryption and Azure Active Directory authentication as the modern defaults. The next lesson covers SQL Server 2025 services — the background processes that support the Database Engine, scheduling, integration, analysis, and reporting capabilities of the platform.


SEMrush Software 3 SEMrush Banner 3