History of TDS Versions

At first, there was One Version of TDS common to both vendors but, in keeping with the broad history of private ventures, they soon diverged. Each vendor has subsequently brought out different versions, and neither supports the other's flavor. That is to say, each vendor's client libraries use the latest version of TDS offered by that vendor. You can't reliably use Microsoft's libraries to connect to Sybase, or Sybase's libraries to connect to Microsoft. In some cases you'll get a connection, but pretty soon you'll bump into some incompatibility.

Versions of the TDS protocol

TDS 4.2 Sybase and Microsoft

The version in use at the time of the Sybase/Microsoft split.

TDS 5.0 Sybase

Introduced for Sybase. Because TDS 5.0 includes negotiated capabilities through which protocol features can be expanded, we are unlikely to see a new TDS version from Sybase.

TDS 7.0 Microsoft

Introduced for SQL Server 7.0. Includes support for the extended datatypes in SQL Server 7.0 (such as char/varchar fields of more than 255 characters). It also includes support for Unicode.

TDS 7.1 Microsoft, was 8.0 [2]

Introduced for SQL Server 2000. Includes support for big integer (64-bit int) and variant datatypes.

TDS 7.2 Microsoft, was 9.0

Introduced for SQL Server 2005. Includes support for varchar(max), varbinary(max), xml datatypes and MARS.

TDS 7.3 Microsoft

Introduced for SQL Server 2008. Includes support for extended date/time, table as parameters.

TDS 7.4 Microsoft

Introduced for SQL Server 2012. Includes support for session recovery.



[2] Earlier FreeTDS documentation referred to versions 7, 8 and 9. Microsoft subsequently published a protocol specification document denoting 7.1 and 7.2, and one finds scattered references using that scheme elsewhere, too. For that reason, FreeTDS switched to Microsoft's nomenclature.