📢 SQL Server ODBC Driver 17.11.1 正式发布了。
这版是 4 月 30 日发布的例行维护更新,没有惊天动地的新功能,但修了几个实打实的坑。如果你在用 ODBC 连 SQL Server,特别是跑 Linux 环境,值得花几分钟了解一下。
🐛 修了哪些 Bug?
1. 参数数组处理的「计数出错」问题
用 ODBC 批量插入数据的朋友应该对参数数组(Parameter Array)不陌生。这版修复了两个跟统计相关的烦人问题:
- SQL_ATTR_PARAMS_PROCESSED_PTR 更新不正确:当批量操作中途失败时,ODBC 会通过这个指针告诉你「处理到第几条了」。之前的版本在部分场景下这个值不准确,导致应用层没法精确定位失败位置。17.11.1 修了。
- SQL_PARAM_IGNORE 的行计数修复:如果你在参数数组中用了 SQL_PARAM_IGNORE 跳过某些行,之前版本的行计数(Row Count)会出偏差。这对于依赖行计数做错误重试的场景来说,是个隐患。
👉 对国内用户的意义:在做 ETL 批量写入、数据迁移时,参数数组是常用的性能优化手段。如果你用 Python(pyodbc/mssql-django)或 C++ 写批量导入逻辑,这个修复能避免「明明成功插入了,日志却说失败了」的诡异问题。
2. 异步模式下的数据分类元数据连接报错
ODBC 有个「数据分类(Data Classification)」功能,连接 SQL Server 时会读取列的敏感度标签(如「机密」「公开」)。如果你在异步模式下(SQL_ATTR_ASYNC_ENABLE)连接,之前版本可能因为这个元数据读取过程导致连接失败。17.11.1 修复了。
👉 对于接了数据安全平台或合规扫描工具的企业来说,异步模式下连接成功率的提升是个实打实的收益。
3. XA 分布式事务恢复修复
如果你的系统涉及跨数据库甚至跨系统的分布式事务(比如 SQL Server + Oracle + MQ 一起参与事务),XA Recovery 的正确性至关重要。这版修正了事务 ID 的计算逻辑,确保崩溃恢复后不会「丢事务」。
👉 这在国内金融、电信等关键业务场景中尤为重要,XA 事务恢复不完整可能导致账目不平。
4. RPM 多版本共存 & Debian 许可确认
- RPM 包现在支持多版本并存:同一台机器上可以同时安装多个 ODBC 驱动版本,方便做兼容性测试和逐步升级。
- Debian 包安装时会校验许可接受状态:避免静默安装跳过许可导致合规问题。
🖥️ 新增支持的平台
这次扩展了一大批 Linux 发行版和 macOS 版本:
| 平台 | 新增版本 | |---|---| | macOS | 14、15、26 | | Debian | 13 | | RHEL | 10 | | Oracle Linux | 9、10 | | SUSE Linux Enterprise | 16 | | Ubuntu | 24.04、25.10 | | Alpine Linux | 3.21、3.22、3.23 |
👉 如果你在信创环境或国产 Linux(如麒麟、UOS)上部署 SQL Server 连接层,基础支持到位是第一步。这些发行版有了官方 ODBC 驱动,就省去了自己编译和踩兼容性坑的麻烦。
📥 怎么装?
各发行版的包管理命令照旧:
# Debian/Ubuntu
sudo apt-get update && sudo apt-get install msodbcsql17
# RHEL/Oracle Linux
sudo yum install msodbcsql17
# SUSE
sudo zypper install msodbcsql17
# Alpine
sudo apk add msodbcsql17
安装包从官方文档页面下载:https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server
🧠 要不要马上升级?
如果你是以下情况,建议尽快升级:
- 在生产环境大量使用参数数组做批量写入
- 启用了 ODBC 异步模式连接 SQL Server
- 涉及 XA 分布式事务
- 需要在较新的 Linux 发行版(Debian 13 / RHEL 10 / Ubuntu 25.10)上装 ODBC
如果只是做日常查询和少量写入,不急着升,等下次大版本一起也行。
原文链接:https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-odbc-driver-17-11-1-for-sql-server-released/ba-p/4516510 发布日期:2026-05-04


