Compatibility
Compatibility & System Requirements
Which SQL Server versions, cloud services, HA topologies and client drivers we work with. We've listed what we have tested and what we haven't, as it stands.
SupportedPartial supportNot supportedNot tested
SQL Server versions
| SQL Server version | Status | Notes |
|---|---|---|
| SQL Server 2012 / 2014 | Partial support | We wrote a separate compatibility path for the legacy Schannel stack and servers that reject TLS 1.3. If the connection fails, you may need to dial the handshake back with upstream_min_tls and UpstreamMaxTLS. |
| SQL Server 2016 / 2017 | Not tested | The TDS path does not vary by version, so we do not expect trouble, but these releases are not in our regular test matrix. |
| SQL Server 2019 / 2022 | Not tested | Same code path as 2016/2017. Worth a verification run in your own environment before you roll it out. |
| SQL Server 2025 | Not tested | We have not done any work specific to this release. Get in touch if you want to try it and we will verify it with you. |
Cloud SQL services
| Platform | Status | Notes |
|---|---|---|
| Azure SQL Database | Not tested | We have not attempted a deployment on Azure. Nothing in the TDS path suggests it would be a problem. |
| Azure SQL Managed Instance | Not tested | No verification run against Managed Instance yet. |
| AWS RDS for SQL Server | Not tested | We have not run or measured it on RDS. |
| Google Cloud SQL for SQL Server | Not tested | Cloud SQL is outside our current test scope. |
High availability
| Topology | Status | Notes |
|---|---|---|
| Always On Availability Group listener | Not supported | The routing layer does not recognize replicas behind a listener. Point the proxy at a single instance instead. |
| Failover Cluster Instance (FCI) | Not supported | Open connections are not carried over to the new node when a failover happens. |
| Log shipping | Not supported | We do not route to secondaries, and there is no log-shipping-aware behavior. |
Client drivers
| Driver | Status | Notes |
|---|---|---|
| MARS (Multiple Active Result Sets) | Partial support | The code and tests are there, but the proxy clears the MARS flag during pre-login by default. If you hit problems, add MultipleActiveResultSets=false to your connection string. |
| Connection pooling | Not tested | Pooled connections look no different to the proxy, though we have not measured pool behavior separately. |
| Bulk insert / BCP | Not tested | There is no dedicated path for bulk loads. Try large BCP jobs in a test environment first. |
| .NET SqlClient / Microsoft.Data.SqlClient | Not tested | No driver-specific code path on our side, it uses the standard TDS flow. |
| JDBC / ODBC / OLE DB | Not tested | We do not test against these drivers regularly. |
| Python pyodbc / Go driver | Not tested | Not in our test matrix. |
Gateway system requirements
TDS proxy port14330 (default, configurable)
Web UI port8080 (default, configurable)
Backend SQL Server port1433 (default)
Runtime dependencyNone. Single Go binary with embedded DuckDB
Operating systemWindows 10 / Windows Server 2016 and later
CPU / RAM / diskNot measured yet, it varies with load profile so we would rather not quote a floor
Linux support
The project compiles for Linux and macOS, and the platform-specific build files are in place. What is missing is a ready installation package (deb/rpm/systemd unit) and any integration testing on those platforms. For now installation and support are Windows-only. Linux is on the roadmap under evaluation; if you need it, tell us, it helps us prioritize.

