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

下载 ODBC 驱动程序

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

18.4.1 – 2024 年 7 月

新建项 详细信息
支持新分发。 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。 Alpine 现在支持 ARM64
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 option 请参阅 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 连接