The Tabular Data Stream protocol ("TDS protocol") is the communication protocol used by Microsoft SQL Server to interact with applications. Whenever an application ("client") connects to a SQL Server instance ("server"), TDS is used to exchange technical messages between client and server. TDS handles matters such: - session setup, - user authentication, - command specification, and - return of query results. A TDS session usually begins with the establishment of a connection and the negotiation of communication settings, including authentication. When access is granted, the client can send database instructions such as SQL statements and procedure calls. The server answers with messages containing status codes, column definitions (metadata), and rows of data. For more information refer to [Wikipedia](https://en.wikipedia.org/wiki/Tabular_Data_Stream). ## TDS Versions Invantive UniversalSQL Server supports the following protocol versions (with some highlights): - v7.1: preferred TDS protocol version of SQL Server 2000, added 64-bit integers. - v7.1 revision 1: preferred TDS protocol version of SQL Server 2000 SP1. - v7.2: preferred version of SQL Server 2005, added `varchar(max)`. - v7.3.A: preferred version of SQL Server 2008, added `datetime2`. - v7.3.B: preferred version of SQL Server 2008R2. - v7.4: preferred version of SQL Server 2012, 2014, 2016, 2017 and 2019, added session recovery. - v8.0: preferred version of SQL Server 2022 and 2025., added TLS 1.3. TDS version 7.0 (SQL Server 7.x) and TDS version 4.2 (introduced with SQL Server 4.x) are not supported, nor is TDS version 5.0 used by Sybase. TDS 8.0 made encryption mandatory and moved encryption logic such that all data is encrypted after connection negotiation. Previous versions of TDS offered optional encryption and encrypted only login and row data.