Linux 和 macOS 上的 Microsoft ODBC Driver for SQL Server 的发行说明

下载 ODBC 驱动程序

本文列出并介绍了 Linux 和 macOS 上的 Microsoft ODBC Driver for SQL Server 的版本控制版本中的新增功能。

18.6.1,2025 年 12 月

新建项 详细信息
新数据类型 添加了对新矢量数据类型(float32)的支持。
ConcatNullYieldsNull 属性 添加了对 ConcatNullYieldsNull 作为连接字符串属性的支持。
支持新分发。 Azure Linux 3.0 ARM、Debian Linux 13、RedHat Linux 10、Ubuntu Linux 25.10
Azure Linux 许可证 更改了 Azure Linux 的许可证接受过程。
bug 修复。 bug 修复

2025 年 3 月 18.5.1

新建项 详细信息
支持新分发。 macOS 15、Alpine Linux 3.20、Azure Linux 3.0、Oracle Linux 9、Ubuntu 24.10
数据包大小选项。 将数据包大小公开为连接字符串选项。
bug 修复。 bug 修复

18.4.1 – 2024 年 7 月

新建项 详细信息
支持新分发。 macOS 14、Ubuntu 24.04、Alpine 3.19
按文件状态接受 EULA。 新增了按文件状态来接受 DEB 和 RPM 包的 EULA 的功能。
Microsoft Entra ID 将出现的所有“Azure Active Directory”重命名为“Microsoft Entra ID”。 有关详细信息,请参阅 Azure Active Directory 的新名称
bug 修复。 bug 修复

18.3.3,2024 年 4 月

新建项 详细信息
bug 修复。 bug 修复

17.10.6,2024 年 4 月

新建项 详细信息
bug 修复。 bug 修复

2023 年 10 月 18.3.2 版

新建项 详细信息
支持新分发。 Debian 12
bug 修复。 bug 修复

2023 年 10 月 17.10.5 版

新建项 详细信息
支持新分发。 Debian 12
提高的性能 更高效的数据包缓冲区内存分配
新增对托管标识 (MSI) 身份验证的支持。 支持 Azure Arc 和 Azure Cloud Shell 的 MSI 身份验证,并更新至较新的 Azure 应用服务 API 版本
bug 修复。 bug 修复

18.3.1,2023 年 7 月

新建项 详细信息
提高的性能 更高效的数据包缓冲区内存分配
新增对托管标识 (MSI) 身份验证的支持。 支持 Azure Arc 和 Azure Cloud Shell 的 MSI 身份验证,并更新至较新的 Azure 应用服务 API 版本
支持新分发。 Ubuntu 23.04、Alpine 3.17、Alpine 3.18。 Arm64 现已在 Alpine 上受支持
bug 修复。 bug 修复

18.2.2,2023 年 6 月

新建项 详细信息
bug 修复。 bug 修复

17.10.4,2022 年 6 月

新建项 详细信息
bug 修复。 bug 修复

18.2,2023 年 1 月

新建项 详细信息
支持新分发。 Ubuntu 22.10、macOS 13、Alpine 3.16
在连接错误中添加了服务器名称的详细信息 在连接错误中添加了原始和重定向的服务器名称
bug 修复。 bug 修复

17.10.2,2022 年 11 月

新建项 详细信息
bug 修复。 bug 修复

18.1.2,2022 年 11 月

新建项 详细信息
bug 修复。 bug 修复

18.1,2022 年 8 月

新建项 详细信息
支持新分发。 Ubuntu 22.04、Red Hat 9。 Arm64 Linux 平台:Debian 11、Red Hat 8 和 9、Ubuntu 20.04、22.04
IpAddressPreference 选项 请参阅 DSN 和连接字符串属性及关键字
RetryExec 选项 请参阅 DSN 和连接字符串属性及关键字
VBS-NONE enclave 证明协议 不证明 enclave 的新 enclave 证明选项。 请参阅使用 Always Encrypted
HostnameInCertificate 的通配符匹配 现在可以使用通配符来指定主机名,前提是与 Addr/Address/Server 中的默认值不同。
ServerCertificate 选项 请参阅 DSN 和连接字符串属性及关键字
TrustedConnection_UseAAD 选项 现在,指定 Trusted_Connection=yes 时,仅启用 Kerberos 集成身份验证。 使用 TrustedConnection_UseAAD 选项以启用使用集成的 Kerberos 或 Azure Active Directory 的以前行为。 有关详细信息,请参阅使用 Azure Active Directory
bug 修复。 bug 修复

17.10,2022 年 6 月

新建项 详细信息
支持新分发。 Ubuntu 22.04、Red Hat 9
TrustedConnection_UseAAD 选项 现在,指定 Trusted_Connection=yes 时,仅启用 Kerberos 集成身份验证。 使用 TrustedConnection_UseAAD 选项以启用使用集成的 Kerberos 或 Azure Active Directory 的以前行为。
bug 修复。 bug 修复

18.0,2022 年 2 月

新建项 详细信息
支持新分发。 Debian 11、Ubuntu 21.10、macOS 12
添加了与 OpenSSL 3.0 的兼容性 请参阅连接字符串关键字和数据源名称
能够将长类型作为最大类型发送 请参阅 DSN 和连接字符串属性及关键字
支持 TDS 8.0 请参阅 Windows 上 Microsoft ODBC Driver for SQL Server 的功能
SQLGetData 的兼容性扩展 请参阅 Windows 上 Microsoft ODBC Driver for SQL Server 的功能
bug 修复。 bug 修复

17.9,2022 年 2 月

新建项 详细信息
支持新分发。 Debian 11、Ubuntu 21.10、macOS 12
添加了与 OpenSSL 3.0 的兼容性 请参阅连接字符串关键字和数据源名称
bug 修复。 bug 修复

17.8.1.2,2021 年 10 月

新建项 详细信息
包更新 更新了 Red Hat 7、Red Hat 8、SUSE 12 和 SUSE 15 的 RPM 包以使用 SHA256 RPM 签名。

17.8,2021 年 7 月

新建项 详细信息
支持新分发。 Ubuntu 21.04、Alpine 3.13
支持 Apple M1 Arm64 硬件 请参阅安装 ODBC 驱动程序 (macOS)
向连接字符串添加了复制选项 请参阅 DSN 和连接字符串属性及关键字
向连接字符串添加了 KeepAlive 和 KeepAliveInterval 选项 请参阅 DSN 和连接字符串属性及关键字
bug 修复。 bug 修复

17.7.2,2021 年 3 月

新建项 详细信息
bug 修复。 bug 修复

17.7,2021 年 1 月

新建项 详细信息
支持新分发。 Ubuntu 20.10、macOS Big Sur (11.0)、Oracle Linux 7
服务主体身份验证 请参阅 DSN 和连接字符串属性及关键字
能够插入已加密的 money 和 smallmoney 列 请参阅使用 Always Encrypted
bug 修复。 bug 修复

17.6,2020 年 7 月

新建项 详细信息
支持新分发。 Ubuntu 20.04
联合身份验证支持 请参阅使用 Azure Active Directory
预定义语句的元数据缓存 请参阅使用 Always Encrypted
SQL_COPT_SS_AUTOBEGINTXN 连接属性用于控制自动 BEGIN TRANSACTION 是在 ROLLBACK 后还是 COMMIT 之后发生 请参阅 DSN 和连接字符串属性及关键字
bug 修复。 bug 修复

17.5.2.2,2020 年 4 月(仅限 Alpine Linux)

新增功能 详细信息
已修复 bug。 请参阅 bug 修复

17.5.2,2020 年 3 月

新增功能 详细信息
支持使用托管标识进行 Azure Key Vault 身份验证 请参阅对 ODBC 驱动程序使用 Always Encrypted
支持更多 Azure Key Vault 终结点 请参阅对 ODBC 驱动程序使用 Always Encrypted
bug 修复。 请参阅 bug 修复

17.5,2020 年 1 月

新增功能 详细信息
SQL_COPT_SS_SPID 连接属性,用于在不往返服务器的情况下检索 SPID 请参阅 DSN 和连接字符串属性及关键字
支持通过 Debian 和 Ubuntu 上的 debconf 指示 EULA 接受情况 请参阅安装驱动程序
支持新分发。 • Alpine Linux(3.10、3.11)。
• Oracle Linux 8。
• Ubuntu 19.10。
• macOS 10.15。
bug 修复。 请参阅 bug 修复

2019 年 10 月 17.4.2 版

新增功能 详细信息
支持更多 Azure Key Vault 终结点 请参阅对 ODBC 驱动程序使用 Always Encrypted
支持设置数据分类版本 请参阅数据分类
bug 修复。 请参阅 bug 修复

已知问题:

使用具有安全 Enclave 和 Azure Key Vault 的 Always Encrypted 时,奇数密钥路径长度可能导致 CMK 签名验证错误。 如果遇到此问题,请尝试通过重命名 AKV 键,将密钥路径的长度更改为一个字符。

17.4,2019 年 8 月

新增功能 详细信息
具有安全 Enclave 的 Always Encrypted。 请参阅对 ODBC 驱动程序使用 Always Encrypted
动态加载 OpenSSL 请参阅编程指南
可配置的 TCP 保持活动状态设置。 请参阅连接到 SQL Server
bug 修复。 请参阅 bug 修复

17.3 版,2019 年 2 月

新建项 详细信息
支持新分发。 • SUSE 15。
• Ubuntu 18.10。
• macOS 10.14。
Azure Active Directory 托管标识(系统和用户分配)身份验证模式。 请参阅结合使用 Azure Active Directory 和 ODBC Driver
能够针对 Always Encrypted 列流式传输输入参数。 有关详细信息,请参阅使用 Always Encrypted 时的 ODBC 驱动程序限制
XA 分布式事务。 请参阅使用 XA 事务

XA 是扩展体系结构 (eXtended Architecture) 的词首字母缩略词,它是执行访问多个服务器端数据存储系统的全局事务的标准 。

17.2 版,2018 年 7 月

新建项 详细信息
支持新分发。 • Ubuntu 18.04
对 Azure SQL 数据库和 SQL Server 进行数据分类。 请参阅数据分类
支持 UTF-8 服务器编码。  
SQLBrowseConnect  
libcurl 上的动态依赖项。 从此版本开始,libcurl 包不再是显式依赖项。
使用 Azure Key Vault 或 Azure Active Directory 身份验证时,需要使用 OpenSSL 或 NSS 的 libcurl 包。
如果遇到有关 libcurl 的错误,请确保它已安装。
在连接字符串中使用 ConnectRetryCount 和 ConnectRetryInterval 关键字进行空闲连接复原。 • 使用 SQL_COPT_SS_CONNECT_RETRY_COUNT(只读)检索连接重试尝试的次数。

• 使用 SQL_COPT_SS_CONNECT_RETRY_INTERVAL(只读)检索连接重试间隔的时长。

请参阅连接复原
bug 修复。 bug 修复

17.1 版,2018 年 3 月

新建项 详细信息
支持 SQL_COPT_SS_CEKCACHETTLSQL_COPT_SS_TRUSTEDCMKPATHS 连接属性。 SQL_COPT_SS_CEKCACHETTL 允许控制列加密密钥的本地缓存的保留时间以及刷新该时间。

SQL_COPT_SS_TRUSTEDCMKPATHS 允许应用程序将 Always Encrypted 操作限制为仅使用指定的列主密钥列表。

请参阅结合使用 Always Encrypted 和 ODBC Driver for SQL Server
支持从默认位置加载 .rll 请参阅安装文档中的“资源文件加载”部分
bug 修复。 bug 修复

17

支持新分发:macOS High Sierra 和 Ubuntu 17.10

性能改进:驱动程序在 UTF-8/16 之间转换时,性能提升超过 10 倍。

新增功能

对 BCP API 的 Always Encrypted 支持

新连接字符串属性 UseFMTOnly 使驱动程序在需要临时表的特殊情况下使用旧的元数据。

支持 Azure SQL 托管实例。

备注

使用托管实例时存在许多差异:

  • 不支持 FILESTREAM
  • 不支持本地文件系统访问,但在某些情况下需要,比如需要访问跟踪日志。
  • 不支持从本地路径创建 UDT
  • 不支持 Windows 集成身份验证
  • 不支持 DTC
  • “sa”帐户不存在(默认帐户称为“cloudSA”)
  • TDS 令牌错误 (0xAA) 返回不正确的服务器名称
  • 数据库名称中的特殊字符不受支持
  • 不支持执行 ALTER DATABASE [dbname1] MODIFY NAME = [dbname2] 命令
  • 无论语言设置如何,错误消息始终以英语显示(与 Azure 相同)

Linux 和 macOS 上的 13.1 for SQL Server,2017 年 5 月

ODBC Driver 13.1 for SQL Server 添加了对将 Always Encrypted 和 Azure Active Directory 与 Microsoft SQL Server 2016 一起使用的支持。

支持新分发:在 macOS 上的 ODBC Driver 的第一个版本中支持 OS X 10.11 和 macOS 10.12。 现在还支持 Ubuntu 16.10、Red Hat 6、7 和 SUSE 12。 每个平台都有与平台相关的包(RPM 或 DEB),用于简化安装和配置。 有关详细信息,请参阅 Linux macOS 的 ODBC 驱动程序安装说明。

unixODBC 驱动程序管理器 2.3.1 支持变更:ODBC 驱动程序不再依赖于 unixODBC 驱动程序管理器的自定义包(除非在 Red Hat 6 上),而是依靠分发包管理器来解析发行版的存储库中的 UnixODBC 依赖项。

BCP API 支持:Linux 和 macOS ODBC 驱动程序现支持使用 BCP API 函数(bcp_init 等)

Linux 上的 13.0 for SQL Server

借助 Microsoft ODBC Driver 13.0 for SQL Server,SQL Server 2014 和 SQL Server 2016 现在也受支持。

支持新分发

Ubuntu 以及 Red Hat 和 SUSE 现在受支持。 每个平台都有与平台相关的包(RPM 或 DEB),用于简化安装和配置。 有关安装说明,请参阅安装 ODBC Driver

unixODBC 驱动程序管理器 2.3.1 支持:除了较新的驱动程序管理器外,还有用于安装此依赖项的包,可以简化安装和配置。

透明网络 IP 解析:透明网络 IP 解析是现有多子网故障转移功能的修订版,在第一个解析的主机名 IP 未响应且存在多个与主机名关联的 IP 的情况下,该功能会影响驱动程序的连接顺序。

TLS 1.2 支持:使用与 SQL Server 的安全通信时,Linux 上的 Microsoft ODBC Driver 13.0 for SQL Server 现支持 TLS 1.2。

Linux 上的 11 for SQL Server

SUSE Linux 上的 ODBC 驱动程序(预览版)支持 64 位 SUSE Linux Enterprise 11 Service Pack 2。 有关详细信息,请参阅系统需求

Linux 上的 ODBC 驱动程序支持 Always On 可用性组。 有关详细信息,请参阅 Linux 上的 ODBC Driver 对高可用性、灾难恢复的支持

Linux 上的 ODBC 驱动程序支持与 Azure SQL 数据库的连接。

选项 -l (登录超时)已添加到 bcp。 有关详细信息,请参阅使用 bcp 连接