Skip to content

Wire-protocol ADBC driver

Microsoft SQL Server

Wire-Protocol MS-TDS 7.4
No SQL Server client library needed.

Back to all drivers
Database
Microsoft SQL Server
Wire protocol
MS-TDS 7.4
Platforms
Linux (x64) · Windows (x64)

Overview

This driver talks to Microsoft SQL Server the way SQL Server itself expects: MS-TDS 7.4 over TCP/TLS, implemented natively. It covers SQL Server 2012 through 2025, Azure SQL and Microsoft Fabric Warehouse, and it delivers Apache Arrow RecordBatches end to end without ODBC or any SQL Server client library.

What it does differently

TDS 7.4, implemented natively

The full protocol including encryption negotiation, so the driver connects the way SQL Server expects — with OpenSSL as its only runtime dependency.

VECTOR and geospatial types

SQL Server 2025 VECTOR(n) maps to Arrow fixed-size lists, and geometry / geography convert to GeoArrow WKB.

Straight into Arrow buffers

Result rows decode directly into Arrow column buffers — no intermediate row objects between the socket and your table.

Cloud services covered

The same driver, the same connection string shape, for Azure SQL and Microsoft Fabric Warehouse.

Authentication

  • SQL Server logins (username / password)
  • Trusted / integrated authentication — Windows SSPI
  • Kerberos via GSSAPI / SPNEGO on POSIX
  • Microsoft Entra ID

Connect from your language

The driver loads by name across every ADBC client. Pick your language:

query.py
import adbc_driver_manager.dbapi as dbapi
import pandas as pd

with dbapi.connect(driver="arpemssql",
                   db_kwargs={"uri": "sqlserver://dbuser:<password>@host:1433/?database=appdb&encrypt=true"}) as conn:
    # Arrow-backed dtypes, no Python-object columns
    df = pd.read_sql("SELECT * FROM dbo.orders", conn, dtype_backend="pyarrow")

Install the Microsoft SQL Server driver

install.sh
curl -fsSL https://raw.githubusercontent.com/arpe-io/adbc-drivers/main/install.sh \
  | sh -s -- arpemssql --license /path/to/your.lic
Full installation guide

Reference documentation

Every option, every type mapping and the full troubleshooting guide live in the docs.