Skip to content

Commit 4295c86

Browse files
Merge pull request #36106 from MicrosoftDocs/main
Auto Publish – main to live - 2025-12-17 23:30 UTC
2 parents 3175540 + 2aaf6e8 commit 4295c86

47 files changed

Lines changed: 1182 additions & 1766 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.openpublishing.redirection.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67673,6 +67673,31 @@
6767367673
"source_path": "docs/database-engine/install-windows/upgrade-to-a-different-edition-of-sql-server-setup.md",
6767467674
"redirect_url": "/sql/database-engine/install-windows/upgrade-downgrade-sql-server-edition-setup",
6767567675
"redirect_document_id": true
67676+
},
67677+
{
67678+
"source_path": "docs/connect/python/python-driver-for-sql-server.md",
67679+
"redirect_url": "/sql/connect/python/mssql-python/python-sql-driver-mssql-python",
67680+
"redirect_document_id": false
67681+
},
67682+
{
67683+
"source_path": "docs/connect/python/pyodbc/python-sql-driver-pyodbc.md",
67684+
"redirect_url": "/sql/connect/python/mssql-python/python-sql-driver-mssql-python",
67685+
"redirect_document_id": false
67686+
},
67687+
{
67688+
"source_path": "docs/connect/python/pyodbc/python-sql-driver-pyodbc-quickstart.md",
67689+
"redirect_url": "/sql/connect/python/mssql-python/python-sql-driver-mssql-python-quickstart",
67690+
"redirect_document_id": false
67691+
},
67692+
{
67693+
"source_path": "docs/connect/python/pymssql/python-sql-driver-pymssql.md",
67694+
"redirect_url": "/sql/connect/python/mssql-python/python-sql-driver-mssql-python",
67695+
"redirect_document_id": false
67696+
},
67697+
{
67698+
"source_path": "docs/connect/python/pymssql/python-sql-driver-pymssql-quickstart.md",
67699+
"redirect_url": "/sql/connect/python/mssql-python/python-sql-driver-mssql-python-quickstart",
67700+
"redirect_document_id": false
6767667701
}
6767767702
]
6767867703
}

docs/connect/connect-history.md

Lines changed: 56 additions & 58 deletions
Large diffs are not rendered by default.

docs/connect/driver-feature-matrix.md

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
2-
title: Driver feature support matrix
2+
title: Driver Feature Support Matrix
33
description: Learn which SQL Server features are supported in the drivers for .NET, ODBC, OLE DB, JDBC, Node.js, JavaScript, and Python.
44
author: David-Engel
55
ms.author: davidengel
6-
ms.reviewer: davidengel
7-
ms.date: 09/11/2025
6+
ms.date: 12/15/2025
87
ms.service: sql
98
ms.subservice: connectivity
10-
ms.topic: conceptual
11-
ms.custom: sfi-ropc-nochange
9+
ms.topic: article
10+
ms.custom:
11+
- sfi-ropc-nochange
1212
---
1313
# Driver feature support matrix for Microsoft SQL Server
1414

@@ -30,8 +30,10 @@ We wish all drivers supported every feature and spend effort to ensure feature p
3030
- [PHP](#table3)
3131
- [Python](#table3)
3232

33-
| <a id="table1"></a>Feature | [Microsoft.<wbr>Data.<wbr>SqlClient (.NET Core)](ado-net/microsoft-ado-net-sql-server.md) | [Microsoft.<wbr>Data.<wbr>SqlClient (.NET Framework)](ado-net/microsoft-ado-net-sql-server.md) | System.<wbr>Data.<wbr>SqlClient (.NET Core) | [System.<wbr>Data.<wbr>SqlClient (.NET Framework)](/dotnet/framework/data/adonet/sql/) |
34-
| :-- | :-- | :-- | :-- | :-- |
33+
<a id="table1"></a>
34+
35+
| Feature | [Microsoft.Data.SqlClient (.NET Core)](ado-net/microsoft-ado-net-sql-server.md) | [Microsoft.Data.SqlClient (.NET Framework)](ado-net/microsoft-ado-net-sql-server.md) | System.Data.SqlClient (.NET Core) | [System.Data.SqlClient (.NET Framework)](/dotnet/framework/data/adonet/sql/) |
36+
| --- | --- | --- | --- | --- |
3537
| [Always Encrypted](../relational-databases/security/encryption/always-encrypted-database-engine.md) | [Yes](ado-net/sql/sqlclient-support-always-encrypted.md) | [Yes](ado-net/sql/sqlclient-support-always-encrypted.md) | | [Yes](ado-net/sql/sqlclient-support-always-encrypted.md) (v4.6+) |
3638
| [Always Encrypted with secure enclaves](../relational-databases/security/encryption/always-encrypted-enclaves.md) | [Yes](ado-net/sql/sqlclient-support-always-encrypted.md#enabling-always-encrypted-with-secure-enclaves) (v1.1+) | [Yes](ado-net/sql/sqlclient-support-always-encrypted.md#enabling-always-encrypted-with-secure-enclaves) (v1.1+) | | [Yes](ado-net/sql/sqlclient-support-always-encrypted.md#enabling-always-encrypted-with-secure-enclaves) (v4.7.2+) |
3739
| [Microsoft Entra access token authentication](/azure/active-directory/develop/access-tokens) | [Yes](/dotnet/api/system.data.sqlclient.sqlconnection.accesstoken) | [Yes](/dotnet/api/microsoft.data.sqlclient.sqlconnection.accesstoken) | [Yes](/dotnet/api/microsoft.data.sqlclient.sqlconnection.accesstoken) (v4.6+) | [Yes](/dotnet/api/microsoft.data.sqlclient.sqlconnection.accesstoken) (v4.6+) |
@@ -54,12 +56,14 @@ We wish all drivers supported every feature and spend effort to ensure feature p
5456
| [JSON data type](../relational-databases/json/json-data-sql-server.md) | Yes (v6.0+) | Yes (v6.0+) | | |
5557
| [Vector (float32) data type](../t-sql/data-types/vector-data-type.md) | Yes (v6.1+) | Yes (v6.1+) | | |
5658

57-
| <a id="table2"></a>Feature | [ODBC Driver for SQL Server on Windows](odbc/microsoft-odbc-driver-for-sql-server.md) | [ODBC Driver for SQL Server on Linux and macOS](odbc/microsoft-odbc-driver-for-sql-server.md) | [JDBC Driver for SQL Server](jdbc/microsoft-jdbc-driver-for-sql-server.md) | [OLE DB Driver for SQL Server](oledb/oledb-driver-for-sql-server.md) |
59+
<a id="table2"></a>
60+
61+
| Feature | [ODBC Driver for SQL Server on Windows](odbc/microsoft-odbc-driver-for-sql-server.md) | [ODBC Driver for SQL Server on Linux and macOS](odbc/microsoft-odbc-driver-for-sql-server.md) | [JDBC Driver for SQL Server](jdbc/microsoft-jdbc-driver-for-sql-server.md) | [OLE DB Driver for SQL Server](oledb/oledb-driver-for-sql-server.md) |
5862
| :-- | :-- | :-- | :-- | :-- |
5963
| [Always Encrypted](../relational-databases/security/encryption/always-encrypted-database-engine.md) | [Yes](odbc/using-always-encrypted-with-the-odbc-driver.md) (v13.1+) | [Yes](odbc/using-always-encrypted-with-the-odbc-driver.md) (v13.1+) | [Yes](jdbc/using-always-encrypted-with-the-jdbc-driver.md) (v6.0+) |
6064
| [Always Encrypted with secure enclaves](../relational-databases/security/encryption/always-encrypted-enclaves.md) | [Yes](odbc/using-always-encrypted-with-the-odbc-driver.md#enabling-always-encrypted-with-secure-enclaves) (v17.4+) | [Yes](odbc/using-always-encrypted-with-the-odbc-driver.md#enabling-always-encrypted-with-secure-enclaves) (v17.4+) | [Yes](jdbc/using-always-encrypted-with-the-jdbc-driver.md) (v8.2+) | |
6165
| [Microsoft Entra access token authentication](/azure/active-directory/develop/access-tokens) | [Yes](odbc/using-azure-active-directory.md#authenticating-with-an-access-token) (v13.1+) | [Yes](odbc/using-azure-active-directory.md#authenticating-with-an-access-token) (v13.1+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md#connect-using-access-token) (v6.0+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.2+) |
62-
| [Microsoft Entra password authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](odbc/using-azure-active-directory.md) (v13.1+) | [Yes](odbc/using-azure-active-directory.md) (v13.1+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md) (v6.0+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.2+) |
66+
| [Microsoft Entra password authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](odbc/using-azure-active-directory.md) (v13.1+) | [Yes](odbc/using-azure-active-directory.md) (v13.1+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md) (v6.0+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.2+) |
6367
| [Microsoft Entra integrated authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](odbc/using-azure-active-directory.md) (v13.1+) | [Yes](odbc/using-azure-active-directory.md) (v17.6+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md) (v6.0+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.2+) |
6468
| [Microsoft Entra Interactive (MFA) authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](odbc/using-azure-active-directory.md) (v17.1+) | | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md) (v9.2+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.3+) |
6569
| [Microsoft Entra managed identity authentication](/azure/active-directory/managed-identities-azure-resources/overview) | [Yes](odbc/using-azure-active-directory.md) (v17.3+) | [Yes](odbc/using-azure-active-directory.md) (v17.3+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md) (v7.2+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.3+) |
@@ -78,32 +82,32 @@ We wish all drivers supported every feature and spend effort to ensure feature p
7882
| [JSON data type](../relational-databases/json/json-data-sql-server.md) | | | [Yes](jdbc/use-json-data-type.md) (v13.2+) | |
7983
| [Vector (float32) data type](../t-sql/data-types/vector-data-type.md) | | | [Yes](jdbc/use-vector-data-type.md) (v13.2+) | |
8084

81-
| <a id="table3"></a>Feature | [Drivers for PHP for SQL Server on Windows](php/microsoft-php-driver-for-sql-server.md)<sup>[1](#note1)</sup> | [Drivers for PHP for SQL Server on Linux and macOS](php/microsoft-php-driver-for-sql-server.md)<sup>[1](#note1)</sup> | [Tedious (Node.js)](node-js/node-js-driver-for-sql-server.md) | [pyODBC (Python)](python/pyodbc/python-sql-driver-pyodbc.md)<sup>[1](#note1)</sup> | [Go (go-lang)](https://aka.ms/go-mssqldb) |
85+
<a id="table3"></a>
86+
87+
| Feature | [Drivers for PHP for SQL Server on Windows](php/microsoft-php-driver-for-sql-server.md)<sup>1</sup> | [Drivers for PHP for SQL Server on Linux and macOS](php/microsoft-php-driver-for-sql-server.md)<sup>1</sup> | [Tedious (Node.js)](node-js/node-js-driver-for-sql-server.md) | [mssql-python (Python)](python/mssql-python/python-sql-driver-mssql-python.md) | [Go (go-lang)](https://aka.ms/go-mssqldb) |
8288
| :-- | :-- | :-- | :-- | :-- | :-- |
83-
| [Always Encrypted](../relational-databases/security/encryption/always-encrypted-database-engine.md) | [Yes](php/using-always-encrypted-php-drivers.md) (v5.2+) | [Yes](php/using-always-encrypted-php-drivers.md) (v5.2+) | | Yes | Yes |
84-
| [Always Encrypted with secure enclaves](../relational-databases/security/encryption/always-encrypted-enclaves.md) | [Yes](php/always-encrypted-secure-enclaves.md) (v5.8+) | [Yes](php/always-encrypted-secure-enclaves.md) (v5.8+) | | Yes | |
85-
| [Microsoft Entra access token authentication](/azure/active-directory/develop/access-tokens) | [Yes](php/azure-active-directory.md) (v4.3+) | [Yes](php/azure-active-directory.md) (v4.3+) | [Yes](https://tediousjs.github.io/tedious/api-connection.html#function_newConnection) | [Yes](https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Linux#connecting-to-servers-with-access-tokens) | Yes |
89+
| [Always Encrypted](../relational-databases/security/encryption/always-encrypted-database-engine.md) | [Yes](php/using-always-encrypted-php-drivers.md) (v5.2+) | [Yes](php/using-always-encrypted-php-drivers.md) (v5.2+) | | | Yes |
90+
| [Always Encrypted with secure enclaves](../relational-databases/security/encryption/always-encrypted-enclaves.md) | [Yes](php/always-encrypted-secure-enclaves.md) (v5.8+) | [Yes](php/always-encrypted-secure-enclaves.md) (v5.8+) | | | |
91+
| [Microsoft Entra access token authentication](/azure/active-directory/develop/access-tokens) | [Yes](php/azure-active-directory.md) (v4.3+) | [Yes](php/azure-active-directory.md) (v4.3+) | [Yes](https://tediousjs.github.io/tedious/api-connection.html#function_newConnection) | Yes| Yes |
8692
| [Microsoft Entra password authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](php/azure-active-directory.md) (v4.3+) | [Yes](php/azure-active-directory.md) (v4.3+) | [Yes](https://tediousjs.github.io/tedious/api-connection.html#function_newConnection) | Yes | Yes |
87-
| [Microsoft Entra integrated authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](php/azure-active-directory.md) (v4.3+) | [Yes](php/azure-active-directory.md) (v4.3+) | | Yes | |
88-
| [Microsoft Entra Interactive (MFA) authentication](/azure/sql-database/sql-database-aad-authentication) | | | | Yes<sup>[2](#note2)</sup> | Yes |
93+
| [Microsoft Entra integrated authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](php/azure-active-directory.md) (v4.3+) | [Yes](php/azure-active-directory.md) (v4.3+) | | Yes | |
94+
| [Microsoft Entra Interactive (MFA) authentication](/azure/sql-database/sql-database-aad-authentication) | | | | Yes | Yes |
8995
| [Microsoft Entra managed identity authentication](/azure/active-directory/managed-identities-azure-resources/overview) | [Yes](php/azure-active-directory.md) (v5.6+) | [Yes](php/azure-active-directory.md) (v5.6+) | [Yes](https://tediousjs.github.io/tedious/api-connection.html#function_newConnection) | Yes | Yes |
9096
| [Microsoft Entra service principal authentication](/azure/active-directory/develop/app-objects-and-service-principals) | [Yes](php/azure-active-directory.md) (v5.9+) | [Yes](php/azure-active-directory.md) (v5.9+) | [Yes](https://tediousjs.github.io/tedious/api-connection.html#function_newConnection) | Yes | Yes |
9197
| [Microsoft Entra service principal certificate authentication](/azure/active-directory/develop/app-objects-and-service-principals) | | | | | Yes |
92-
| [Microsoft Entra default Azure authentication](/azure/developer/intro/passwordless-overview#introducing-defaultazurecredential) | | | | | Yes |
98+
| [Microsoft Entra default Azure authentication](/azure/developer/intro/passwordless-overview#introducing-defaultazurecredential) | | | | Yes | Yes |
9399
| [Windows-Integrated authentication](/windows-server/security/windows-authentication/windows-authentication-overview) | [Yes](php/how-to-connect-using-windows-authentication.md) | [Yes](odbc/linux-mac/using-integrated-authentication.md) | | Yes | Yes |
94100
| [Bulk Copy](../relational-databases/import-export/bulk-import-and-export-of-data-sql-server.md) | | | [Yes](https://tediousjs.github.io/tedious/bulk-load.html) | | Yes |
95-
| [Data Discovery and Classification metadata](../relational-databases/security/sql-data-discovery-and-classification.md) | Yes (v5.8+) | Yes (v5.8+) | | |
101+
| [Data Discovery and Classification metadata](../relational-databases/security/sql-data-discovery-and-classification.md) | Yes (v5.8+) | Yes (v5.8+) | | | |
96102
| [Multiple Active Result Sets (MARS)](../relational-databases/native-client/features/using-multiple-active-result-sets-mars.md) | [Yes](php/how-to-disable-multiple-active-resultsets-mars.md) | [Yes](php/how-to-disable-multiple-active-resultsets-mars.md) | | Yes | |
97103
| [Spatial Data Types](../relational-databases/spatial/spatial-data-sql-server.md) | | | | | |
98-
| [Table-Valued Parameters (TVP)](../relational-databases/tables/use-table-valued-parameters-database-engine.md) | [Yes](php/use-table-valued-parameters.md) (v5.10+) | [Yes](php/use-table-valued-parameters.md) (v5.10+) | [Yes](https://tediousjs.github.io/tedious/parameters.html) | Yes | Yes |
104+
| [Table-Valued Parameters (TVP)](../relational-databases/tables/use-table-valued-parameters-database-engine.md) | [Yes](php/use-table-valued-parameters.md) (v5.10+) | [Yes](php/use-table-valued-parameters.md) (v5.10+) | [Yes](https://tediousjs.github.io/tedious/parameters.html) | | Yes |
99105
| [MultiSubnetFailover](../relational-databases/native-client/features/sql-server-native-client-support-for-high-availability-disaster-recovery.md#connecting-with-multisubnetfailover) | [Yes](php/php-driver-for-sql-server-support-for-high-availability-disaster-recovery.md) | [Yes](php/php-driver-for-sql-server-support-for-high-availability-disaster-recovery.md) | | [Yes](../relational-databases/native-client/features/sql-server-native-client-support-for-high-availability-disaster-recovery.md#connecting-with-multisubnetfailover) | Yes (always / not optional) |
100106
| [Transparent Network IP Resolution](odbc/using-transparent-network-ip-resolution.md) | [Yes](php/php-driver-for-sql-server-support-for-high-availability-disaster-recovery.md) | [Yes](php/php-driver-for-sql-server-support-for-high-availability-disaster-recovery.md) | | [Yes](odbc/using-transparent-network-ip-resolution.md) | Yes |
101107
| [TDS 8.0 (strict encryption) and TLS 1.3](../relational-databases/security/networking/tds-8.md) | Yes (v5.10+) | Yes (v5.10+) | Yes (v16.3+) | Yes | Yes |
102-
| [JSON data type](../relational-databases/json/json-data-sql-server.md) | | | | |
103-
| [Vector (float32) data type](../t-sql/data-types/vector-data-type.md) | | | | |
104-
105-
<a id="note1"></a><sup>1</sup> Since these drivers rely on the Microsoft ODBC Driver for SQL Server, a version of that driver that supports the feature must also be used.
108+
| [JSON data type](../relational-databases/json/json-data-sql-server.md) | | | | | |
109+
| [Vector (float32) data type](../t-sql/data-types/vector-data-type.md) | | | | | |
106110

107-
<a id="note2"></a><sup>2</sup> Only on Windows.
111+
<sup>1</sup> Since these drivers rely on the Microsoft ODBC Driver for SQL Server, a version of that driver that supports the feature must also be used.
108112

109-
[!INCLUDE[get-help-options](../includes/paragraph-content/get-help-options.md)]
113+
[!INCLUDE [get-help-options](../includes/paragraph-content/get-help-options.md)]

docs/connect/python/mssql-python/python-sql-driver-mssql-python.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
11
---
22
title: "Microsoft Python Driver for SQL Server - mssql-python"
3-
description: This guide provides an overview to get started with the mssql-python driver
3+
description: This guide provides an overview to get started with the Microsoft Python Driver for SQL Server - mssql-python
44
author: dlevy-msft-sql
55
ms.author: dlevy
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 11/18/2025
7+
ms.date: 12/15/2025
88
ms.service: sql
99
ms.subservice: connectivity
10-
ms.topic: conceptual
10+
ms.topic: article
1111
ms.custom:
1212
- ignite-2025
1313
---
1414

1515
# Microsoft Python Driver for SQL Server - mssql-python
1616

17-
Use the `mssql-python` driver to connect to a SQL database from Python code. This series of articles provides step-by-step guidance for installing and using this Python SQL driver.
17+
**mssql-python** is a Python driver for Microsoft SQL family of databases. It uses Direct Database Connectivity (DDBC) that enables direct connections to SQL Server without requiring an external driver manager. Designed to comply with the [Python Database API Specification 2.0](https://peps.python.org/pep-0249/) specification, this driver also introduces Pythonic enhancements for improved usability and functionality. It supports a full range of database operations, including connection management, query execution, and transaction handling.
18+
19+
The driver is compatible with Python version 3.10 and higher.
1820

1921
## Get started
2022

23+
Use the `mssql-python` driver to connect to a SQL database from Python code. This series of articles provides step-by-step guidance for installing and using the Microsoft Python Driver for SQL.
24+
2125
- [Quickstart: Connect with the mssql-python driver for Python](python-sql-driver-mssql-python-quickstart.md)
2226
- [Quickstart: Connect to a SQL database from a Jupyter Notebook](python-sql-driver-mssql-python-connect-jupyter-notebook.md)
2327
- [Quickstart: Repeatable deployments with the mssql-python driver for Python](python-sql-driver-mssql-python-repeatable-deployments-quickstart.md)
@@ -26,10 +30,12 @@ Use the `mssql-python` driver to connect to a SQL database from Python code. Thi
2630
## Documentation
2731

2832
- [mssql-python documentation](https://github.com/microsoft/mssql-python/wiki)
33+
- [Release Notes](https://github.com/microsoft/mssql-python/releases)
34+
- [Roadmap](https://github.com/microsoft/mssql-python/blob/main/ROADMAP.md)
2935

3036
## Support
3137

32-
`mssql-python` is fully supported by Microsoft. While Microsoft is the primary maintainer, community contributions are encouraged.
38+
Microsoft fully supports `mssql-python`. While Microsoft is the primary maintainer, community contributions are encouraged.
3339

3440
> [!TIP]
3541
> To request new functionality, file an [issue in the mssql-python GitHub repository](https://github.com/microsoft/mssql-python/issues) or visit other Python community resources.

0 commit comments

Comments
 (0)