Most Popular Posts

Oct 14, 2009

Public Specifications of SQL Server Protocols

Specifications of protocols used to communicate with SQL Server components are now publically available on MSDN. The Open Specification branch is available in the tree view at top level. What is not so obvious is where to find the core SQL Engine protocols.

[MS-TDS] Tabular Data Stream

This is the protocol that client data providers use to communicate with the SQL Server Engine. The current version of the protocol specification is located under Windows Protocols > Windows Server Protocols (WSPP).

[MC-SMP] Session Multiplex Protocol

This protocol is used when the MULTIPLE ACTIVE RESULT SETS connection option is requested. This protocol allows both the client data provider and the SQL Engine to split a single physical connection into multiple virtual connections in order to transfer multiple result sets simultaneously. The current version of the protocol specification is located under Windows Protocols > Application Services and .NET Framework Protocols.

[MC-SQLR] SQL Server Resolution Protocol

This protocols is implemented by the SQL Browser service and is used by client data providers to discover available SQL Engines as well as to resolve SQL Server instance names to protocol-specific settings. The current version of the protocol specification is located under Windows Protocols > Application Services and .NET Framework Protocols.

The Microsoft SQL Server Protocols Branch

Now you may be asking: What is under Microsoft SQL Server Protocols then? The answer is: every other protocol related to SQL Server.

Beware of the [MS-SSTDS] Tabular Data Stream Protocol Version 4.2 that you’ll find in this branch. It is the protocol that SQL Server 6.5 used. It is documented, because the SQL Engine can still speak it. But if you want the current TDS protocol, see [MS-TDS] above.

No comments: