The error “The driver does not support the version of TDS that the server is using” occurs when your database driver and SQL Server cannot agree on a mutual Tabular Data Stream (TDS) protocol version during the network pre-login handshake. This typically happens when older database drivers—such as legacy SQL Server Native Client, third-party ODBC connectors, or outdated OLE DB providers—attempt to communicate with newer versions of Microsoft SQL Server or Azure SQL Database that require newer TDS specifications.
Quick Answer
To fix “The driver does not support the version of TDS that the server is using,” upgrade your client driver to the latest Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) or ODBC Driver 18 for SQL Server. Then, update your connection string to point to the new driver (e.g.,
Provider=MSOLEDBSQL;) so both client and server negotiate on a compatible TDS protocol level.
Understanding TDS Versions in SQL Server
Tabular Data Stream (TDS) is the core application-layer protocol that Microsoft SQL Server uses to transfer queries, commands, and tabular result sets between client workstations and database engines. Over successive releases, Microsoft revised the TDS protocol to support enhanced data types, larger packet structures, and mandatory encryption:
- TDS 7.0 / 7.1: SQL Server 7.0 and SQL Server 2000
- TDS 7.2: SQL Server 2005
- TDS 7.3: SQL Server 2008 and 2008 R2
- TDS 7.4: SQL Server 2012 through SQL Server 2019
- TDS 8.0: SQL Server 2022 and modern Azure SQL Database (enforces TLS 1.3 encryption natively inside the TDS packet layer)
When an Excel query, VBA script, or external data connector invokes a legacy driver, that driver initiates communication using an older TDS dialect (such as TDS 7.0 or 7.1). If the target database is a modern instance configured with strict security baselines, it rejects the obsolete handshake and returns the TDS version error. Conversely, connecting a modern driver to an unsupported legacy system (such as an ancient SQL 2000 instance) will trigger the same incompatibility.
To understand where TDS negotiation fits into the broader database handshake workflow, refer to Troubleshooting SQL Connection Failures: Fixing ODBC and Provider Errors.
Practical Troubleshooting and Repair Steps
Step 1: Install the Modern Microsoft OLE DB Driver
If you are using Excel, Power Query, or ADODB macros, your connection may still rely on obsolete providers such as SQLOLEDB (which has been deprecated for over a decade) or SQLNCLI11.
- Download the latest Microsoft OLE DB Driver for SQL Server (x64) from Microsoft’s official download portal.
- Run the installer and complete the setup wizard.
- Open Excel and open your workbook.
- If you run a 64-bit operating system and encounter registration warnings during setup, review the steps in Fixing “The provider ‘SQLNCLI11’ is not registered” on 64-bit systems..
Step 2: Update Your Connection String
Once the modern driver is installed, your Excel connection properties must be directed away from the legacy provider name.
- Navigate to Data > Queries & Connections.
- Right-click the affected query and select Properties.
- Open the Definition tab.
- Locate the connection string line starting with
Provider=. - Update the driver call:
- Change
Provider=SQLOLEDB;orProvider=SQLNCLI11;toProvider=MSOLEDBSQL;
- Change
- Click OK and refresh the data.
For automated VBA macro connections, update your ADODB connection string:
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
' Using modern MSOLEDBSQL to support current TDS protocol standards
conn.ConnectionString = "Provider=MSOLEDBSQL;" & _
"Data Source=sqlserver2022.corp.local;" & _
"Initial Catalog=OperationsDB;" & _
"Integrated Security=SSPI;" & _
"TrustServerCertificate=True;"
conn.Open
Step 3: Configure TDS Compatibility for Azure SQL and SQL Server 2022
If your company recently upgraded to SQL Server 2022 or migrated databases to Azure SQL, the server may enforce TDS 8.0. TDS 8.0 requires transport-layer encryption during the initial handshake packet.
If your client application cannot yet be updated to a TDS 8.0-compliant driver:
- Contact your database administrator to review the server-side encryption requirements.
- If connecting from an intermediate environment where drivers cannot be replaced immediately, verify whether the server configuration allows TDS 7.4 fallback for specific virtual endpoints.
- In your client connection string, explicitly set encryption parameters to prevent ambiguous protocol requests:
Encrypt=Mandatory;TrustServerCertificate=True;
If encryption settings fail during this phase, consult How to resolve “Encryption mismatch” between Excel and legacy SQL Server versions..
What If the Error Still Occurs?
If you have upgraded the driver and updated the connection string but the TDS error persists:
- Third-Party ODBC Bridges: If you connect through an enterprise gateway, SAP connector, or custom ERP driver, the intermediary driver may encapsulate an obsolete version of FreeTDS. Check the gateway configuration file and set
tds version = 7.4. - Untrusted Certificates on Modern TDS: Modern TDS protocols automatically mandate encrypted sessions. If upgrading the driver resolves the TDS error but produces a certificate failure immediately afterward, follow the guidance in Solving SSL Provider errors: “The certificate chain was issued by an untrusted authority.”.