用于 Microsoft SQL 的驱动程序功能支持矩阵

该矩阵比较了驱动程序实现的功能,这些驱动程序将应用程序连接到SQL Server、Azure SQL 数据库、Azure SQL 托管实例、Azure Synapse Analytics以及Microsoft Fabric中的SQL数据库。 它并不表示某个功能是否存在于每个数据库产品或服务中。 请查看链接的功能文档了解产品可用性。

先从你的编程语言和运行时驱动开始,然后验证它是否支持你的应用程序所需的能力。 驱动程序支持情况各不相同,因为某项功能可能不适用于该驱动程序技术、可能依赖其他组件,或者尚未实现。

如何读取矩阵

  • 是 的表示驱动支持该功能。 该链接提供了支持文件。
  • 部分 表示驱动程序仅支持单元中描述的场景或表示。
  • “否” 意味着驱动没有为该能力提供驱动层支持。 在适用的情况下,应用程序仍可能通过通用表示方式访问数据,如文本或二进制数据。

驱动程序版本限定说明仅在某项功能并非在当前所有受支持的版本中都可用时才会出现。 选择关联的驱动名称或支持值以打开相应的文档。 如果你需要不支持的功能,可以使用驱动着陆页上的 “请求功能 ”部分。

.NET驱动

Important

在新的 .NET 开发中使用 Microsoft.Data.SqlClient。 System.Data.SqlClient列仅描述现有应用程序的兼容性。 System.Data.SqlClient 不推荐用于新开发。 通过以下操作迁移现有应用程序,从 System.Data.SqlClient 迁移到 Microsoft。Data.SqlClient。

System.Data.SqlClient NuGet 包支持 .NET 8,但不支持 .NET 9 及更高版本。 .NET 8 于 2026 年 11 月终止支持后,该软件包将不再支持 .NET 运行时。

功能 / 特点 Microsoft。Data.Sql客户端(.NET) Microsoft.Data.SqlClient (.NET Framework) System.Data.SqlClient(.NET 8 NuGet 包,现有应用程序) System.Data.SqlClient(.NET 框架,现有应用程序)
始终加密 是 是 否 是的(.NET Framework 4.6及更高版本)
具有安全隔区的 Always Encrypted 是 是 否 是的(.NET Framework 4.7.2及更高版本)
Microsoft Entra 访问令牌身份验证 是 是 是 是的(.NET Framework 4.6及更高版本)
Microsoft Entra 密码身份验证(已弃用) 是 是 否 是的(.NET Framework 4.6及更高版本)
Microsoft Entra 集成身份验证 是 是 否 是的(.NET Framework 4.6及更高版本)
Microsoft Entra 交互式 (MFA) 身份验证 是 是 否 是的(.NET Framework 4.7.2及更高版本)
Microsoft Entra 托管标识身份验证 是 是 否 否
Microsoft Entra 服务主体身份验证 是 是 否 否
Microsoft Entra 服务主体证书身份验证 否 否 否 否
Microsoft Entra 默认 Azure 身份验证 是 是 否 否
集成认证 是 是 是 是
批量复制 是 是 是 是
数据发现和分类元数据 是 是 否 否
多个活动的结果集 (MARS) 是 是 是 是
空间数据类型 部分(含 Microsoft.SqlServer.Types) 部分(含 Microsoft.SqlServer.Types) 部分(含 Microsoft.SqlServer.Types) 部分(含 Microsoft.SqlServer.Types)
表值参数 (TVP) 是 是 是 是
MultiSubnetFailover 是 是 是 是
透明网络 IP 解析 否 是 否 是
TDS 8.0 严格加密 是 是 否 否
TLS 1.3 是 是 否 否
JSON 数据类型 是 是 否 否
Vector (float32) 数据类型 是 是 否 否

ODBC、JDBC 和 OLE 数据库驱动程序

功能 / 特点 Windows 上的 ODBC Driver for SQL Server 适用于 Linux 和 macOS 的 SQL Server ODBC 驱动程序 用于 SQL Server 的 JDBC 驱动程序 适用于 SQL Server 的 OLE DB 驱动程序
始终加密 是 是 是 否
具有安全隔区的 Always Encrypted 是 是 是 否
Microsoft Entra 访问令牌身份验证 是 是 是 是
Microsoft Entra 密码身份验证(已弃用) 是 是 是 是
Microsoft Entra 集成身份验证 是 是 是 是
Microsoft Entra 交互式 (MFA) 身份验证 是 否 是 是
Microsoft Entra 托管标识身份验证 是 是 是 是
Microsoft Entra 服务主体身份验证 是 是 是 是
Microsoft Entra 服务主体证书身份验证 否 否 是的 (12.4及以后版本) 否
Microsoft Entra 默认 Azure 身份验证 否 否 是的 (12.2及以上版本) 否
集成身份验证 是 是 是 是
批量复制 是 是 是 是
数据发现和分类元数据 是 是 是 是
多个活动的结果集 (MARS) 是 是 否 是
空间数据类型 部分(通过 UDT) 部分(通过 UDT) 是 部分(通过 UDT)
表值参数 (TVP) 是 是 是 是
MultiSubnetFailover 是 是 是 是
透明网络 IP 解析 是 是 是 是
TDS 8.0 严格加密 是的 (仅限ODBC 18) 是的 (仅限ODBC 18) 是的 (11.2及以后版本) 是的 (仅限OLE DB 19)
TLS 1.3 是的 (仅限ODBC 18) 是的 (仅限ODBC 18) 是的 (11.2及以后版本) 是的 (仅限OLE DB 19)
JSON 数据类型 否 否 是的 (13.2及更高版本) 否
Vector (float32) 数据类型 是的 (仅限ODBC 18) 是的 (仅限ODBC 18) 是的 (13.2及更高版本) 否
向量(float16)数据类型 是的 (仅限ODBC 18) 是的 (仅限ODBC 18) 是的 (13.4及更高版本) 否

PHP、Node.js、Python 和 Go 驱动

功能 / 特点 用于 SQL Server 的 Microsoft PHP 驱动程序1 乏味(Node.js) mssql-python (Python) go-mssqldb (Go)
始终加密 是 否 否 是
具有安全隔区的 Always Encrypted 是 否 否 否
Microsoft Entra 访问令牌身份验证 是 是 是 是
Microsoft Entra 密码身份验证(已弃用) 是 是 是 是
Microsoft Entra 集成身份验证 是 否 是 部分(应用程序必须提供 ActiveDirectoryTokenProvider)
Microsoft Entra 交互式 (MFA) 身份验证 否 否 是 是
Microsoft Entra 托管标识身份验证 是 是 是 是
Microsoft Entra 服务主体身份验证 是 是 是 是
Microsoft Entra 服务主体证书身份验证 否 否 否 是
Microsoft Entra 默认 Azure 身份验证 否 是 是 是
集成身份验证 是的;参见 Linux和macOS 部分 是 是
批量复制 否 是 是 是
数据发现和分类元数据 是 否 否 否
多个活动的结果集 (MARS) 是 否 否 否
空间数据类型 部分(通过 UDT 二进制或流) 部分(UDT 缓冲区) 部分(原始二进制;当查询调用 STAsText() 时为 WKT) 部分(通过 UDT)
表值参数 (TVP) 是 是 否 是
MultiSubnetFailover 是 是 是 是的 (默认启用)
透明网络 IP 解析 是 否 否 否
TDS 8.0 严格加密 部分 是 是 是
TLS 1.3 是 是 是 是
JSON 数据类型 否 否 否 否
Vector (float32) 数据类型 否 否 否 否
向量(float16)数据类型 否 否 否 否

1 PHP 驱动程序依赖于 Microsoft 的 SQL Server ODBC 驱动程序。 使用支持该功能的 ODBC 驱动版本。