客户端-服务器通信的过程可以描述为: 1、客户端应用程序提交查询。客户端调用数据库 API,将查询传递给数据库 API。数据库 API 使用提供程序、驱动或 DLL 将查询封装成一个或多个表格格式数据流(TDS)包,将包传递给客户端网络库; 2、客户端网络库将 TDS 包打包成网络协议包,然后调用 Windows 进程间通信(IPC)。API 使用操作系统的网络协议栈将网络协议包发送给服务器网络库。服务器网络库将 TDS 包从网络协议包中析出,传递给 ODS(开放数据服务); 3、ODS (开放数据服务)将查询从 TDS 包中析出,并将查询传递给关系引擎。关系引擎将查询编译成优化的执行计划,并执行它。关系引擎使用 OLE DB 接口与存储引擎通信; 4、存储引擎将数据从数据库中传输到数据缓冲区,然后把包含数据的行集传递给关系引擎。关系引擎将行集组合成最终的结果集,把结果集传递给 ODS; 5、ODS 将结果集打包,并通过使用服务器网络库、网络协议栈、客户端网络库和数据库 API 将结果集返回给客户端应用程序。结果集也可以以 XML 格式返回;