mssql-python 驅動程式是 Microsoft 官方的 Python 驅動程式,適用於 SQL Server、Azure SQL Database、Azure SQL 受控執行個體 以及 SQL 資料庫。Microsoft Fabric。 驅動程式在 GitHub 上持續維護,並透過 PyPI 發布。 本文將介紹版本控制、平台相容性及支援時程。
版本支援
務必使用最新版本以獲得新功能、效能提升及安全修正。 新功能只會新增至目前版本。
目前版本
1.14.0 版是目前的正式可用(GA)版本。
版本歷程記錄
| 版本 | 發行日期 | 狀態 | 重點功能 |
|---|---|---|---|
| 1.14.0 | 2026 年 8 月 | 現況 | 原生參數繫結管線,connect(timeout=) 設定驗證逾時,大量複製支援 timeout=0,大量複製中的 Arrow View 類型 |
| 1.13.0 | 2026 年 8 月 | 上一個 | Apache Arrow 批量複製、 token_provider 參數、身份感知連線池、必備 mssql-python-odbc 伴隨套件 |
| 1.12.0 | 2026 年 7 月 | 上一個 | 獨立的 mssql-python-odbc 隨附套件、大量複製連線逾時修正、大量複製 CLR UDT 修正 |
| 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 | 2026年2月 | 上一個 | 批量複製支援(BCP) |
| 1.3.0 | 2026年1月 | 上一個 | 設定類別,模組配置 |
| 1.2.0 | 2026年1月 | 上一個 | 結構發現方法 |
| 1.1.0 | 2025 年 12 月 | 上一個 | 客製化輸出轉換器 |
| 1.0.0 | 2025年11月 | 上一個 | 最初的通用授權釋出 |
Important
只有目前版本(1.14.0)獲得新功能與錯誤修正。 先前版本仍能正常運作,但不會有更新。
Python 版本相容性
mssql-python 驅動程式需要 Python 3.10 或更新版本。 如果你要開始一個新專案,建議在相容性矩陣中鎖定支援時間最長的 Python 版本。
| 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.14.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-odbc | 附帶包,提供 ODBC 驅動二進位檔 | 自 mssql-python 1.13.0 起,必須為(== 18.6.2.1) |
pip install mssql-python 指令會自動安裝 mssql-python-odbc 伴隨套件。 該套件提供驅動程式啟動時載入的 ODBC 驅動二進位檔。 你不需要另外安裝 Microsoft 的 SQL Server ODBC 驅動程式。
伴隨套件在執行時是必需的。 驅動程式不會回到輪子內 mssql-python 的二進位。 在以下條件下明確安裝 mssql-python-odbc==18.6.2.1 :
- 您使用
--no-deps進行安裝。 - 你是從一個不會鏡像伴隨套件的私有索引安裝。
從 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 討論:用於一般提問與討論。