mssql-python 的支援生命週期

mssql-python 驅動程式是 Microsoft 官方的 Python 驅動程式,適用於 SQL Server、Azure SQL Database、Azure SQL 受控執行個體 以及 SQL 資料庫。Microsoft Fabric。 驅動程式在 GitHub 上持續維護,並透過 PyPI 發布。 本文將介紹版本控制、平台相容性及支援時程。

版本支援

務必使用最新版本以獲得新功能、效能提升及安全修正。 新功能只會新增至目前版本。

目前版本

1.11.0 版是目前正式推出(GA)的版本。

版本歷程記錄

版本 發行日期 狀態 重點功能
1.11.0 2026 年 7 月 現況 情境管理器提交/回滾、Apple Silicon 修正、服務主體批量複製修正
1.10.0 2026 年 6 月 上一個 使用 ActiveDirectoryServicePrincipal 進行批量複製,Arrow VARCHAR 修正
1.9.0 2026 年 6 月 上一個 以 Row 物件進行批量複製,改進 NULL 參數型別
1.8.0 2026 年 5 月 上一個 使用 ActiveDirectoryMSI 進行批量複製,列字串鍵索引
1.7.1 2026 年 5 月 上一個 RHEL 8 輪組、更廣泛的並行與 Unicode 修正
1.6.0 2026 年 4 月 上一個 以解析器為基礎的連線字串淨化,修正連線/中斷連線的並行處理問題
1.5.0 2026 年 4 月 上一個 Arrow fetch,sql_variant,原生 UUID
1.4.0 2025年2月 上一個 批量複製支援(BCP)
1.3.0 2025 年 1 月 上一個 設定類別,模組配置
1.2.0 2024年11月 上一個 結構發現方法
1.1.0 2024 年 9 月 上一個 客製化輸出轉換器
1.0.0 2024 年 7 月 上一個 最初的通用授權釋出

Important

只有目前版本(1.11.0)獲得新功能與錯誤修正。 先前版本仍能正常運作,但不會有更新。 升級到最新版本以獲得最佳體驗。

Python 版本相容性

mssql-python 驅動程式需要 Python 3.10 或更新版本。 如果你要開始一個新專案,建議在相容性矩陣中鎖定支援時間最長的 Python 版本。 如果你只能用較舊的 Python 版本(3.9 或更早),那就改用 pyodbc。

Python 版本 支援狀態
Python 3.14 Supported
Python 3.13 Supported
Python 3.12 Supported
Python 3.11 Supported
Python 3.10 最低支援
Python 3.9 及更早版本 不支援

Important

一定要使用支援的 Python 版本。 舊版 Python 不會收到安全更新。

SQL Server 版本相容性

mssql-python 驅動程式使用 TDS 協定,並支援所有積極支援的 SQL Server 版本。

SQL Server 版本 支援狀態
所有支援的 Microsoft SQL Server 版本 完全支援

Azure SQL 服務

Service 支援狀態
Azure SQL Database 完全支援
Azure SQL 受控執行個體 完全支援
Azure Synapse Analytics(專用集區) Supported

Microsoft Fabric

終點 支援狀態
Fabric 中的 SQL 資料庫 完全支援
Fabric 資料倉儲 Supported
SQL 分析端點(Lakehouse) Supported
SQL 分析端點(鏡像資料庫) Supported

作業系統相容性

mssql-python 驅動程式使用 DDBC(直接資料庫連接),且不需安裝 Microsoft ODBC 驅動程式。 移除外部相依性簡化了部署,尤其是在容器和 CI/CD 管線中。

作業系統 Architecture 支援狀態
Windows 11 x64、ARM64 Supported
Windows Server 2019、2022、2025 x64 Supported
Ubuntu 22.04、24.04、26.04 x64、ARM64 Supported
Debian 11, 12 x64、ARM64 Supported
Red Hat Enterprise Linux 8, 9 x64、ARM64 Supported
macOS 14、15、26 英特爾、蘋果矽晶片(ARM64) Supported
阿爾卑斯Linux x64 Supported

功能相容性

以下表格列出 SQL Server 功能及其在目前版本(1.11.0)mssql-python 驅動程式中的支援狀態。 如果你需要的功能不支援(例如Always Encrypted或MARS),可以考慮改用 pyodbc 。 關於早期版本新增的功能資訊,請參閱 MSSQL-Python 的新內容

SQL Server 功能

Feature MSSQL-Python 支援
加密連線(TLS) Supported
永遠加密 不支援
Microsoft Entra 認證 Supported
多個使用中結果集 (MARS) 不支援
批量副本(BCP) Supported
Apache Arrow 擷取 Supported
sql_variant 資料行 Supported
原生 UUID Supported
連線韌性 Supported
唯讀路由 Supported

DB-API 2.0 合規性

Feature Support
模組介面 Compliant
連接介面 Compliant
游標介面 大致上都很順從
型別物件 Compliant
例外狀況 Compliant
callproc() 未實作

Note

這個 callproc() 方法沒有被實作。 使用搭配標準查詢方法的 EXECUTE 陳述式來呼叫預存程序。

依賴性要求

mssql-python 驅動程式的相依關係極少:

依賴性 Purpose 版本
azure-identity Microsoft Entra ID 認證 必要條件 (>= 1.12.0)

mssql-python 驅動程式不需要安裝 Microsoft ODBC 驅動程式。

從 pyodbc 遷移

mssql-python 驅動程式簡化了部署(無需 ODBC 驅動),並提供內建連線池功能。 遷移時需要規劃的主要差異:

考慮事項 Notes
參數樣式 PYODBC 使用 qmark 位置參數。 MSSQL-Python 預設使用 pyformat 命名參數,並支援 qmark 相容性。
行存取 兩者都支援屬性存取。
預存程序 使用 EXECUTE (不使用 callproc)。
連線池化 mssql-python 驅動程式內建連線池功能。

詳細指引請參閱 從 pyodbc 遷移

從 pymssql 遷移

pymssql 驅動程式已不再積極維護。 mssql-python 驅動程式提供了支援的替代方案,連接語法相似,但具備內建連線池與 Microsoft Entra 認證等現代功能。

考慮事項 Notes
FreeTDS 依賴性 非必要。 mssql-python 驅動程式使用 DDBC。
連接參數 風格相似,但參數名稱不同。
行存取 兩者都支援字典式及屬性存取模式。
預存程序 使用 EXECUTE (不使用 callproc)。

詳細指引請參見「從 pymssql 遷移」。

重大變更政策

  • 主要版本 (2.0、3.0):重大版本變更表示 API 變更會造成破壞。
  • 次要版本 (1.4、1.5):加入新功能並維持向下相容性。
  • 補丁版本 (1.4.1、1.4.2):僅包含錯誤修正。

團隊在發布說明中記錄重大變更並提供遷移指南。

如何保持最新

mssql-python 驅動程式經常釋出次要版本。 定期檢查更新,尤其是在正式部署前。

檢查已安裝的版本

請確認您目前安裝的驅動程式版本:

import mssql_python
print(mssql_python.__version__)

升級至最新版本

更新到最新版本以取得最新功能和安全修補。

pip install --upgrade mssql-python

訂閱更新

  • 請關注 GitHub 倉庫
  • 請查看 PyPI 是否有新版本。
  • 查看每個版本的更新日誌。

取得支援

GitHub 問題

回報錯誤並請求功能請至 GitHub:

Documentation

Community

  • Stack Overflow:使用 mssql-python 為問題加上標籤。
  • GitHub 討論:用於一般提問與討論。