mssql-python ドライバーは、SQL Server、Azure SQL Database、Azure SQL Managed Instance、Microsoft Fabric の SQL データベース向けの、Microsoft 公式の Python ドライバーです。 このドライバーはGitHub上で積極的にメンテナンスされており、PyPIを通じてリリースされています。 この記事では、バージョン管理、プラットフォーム互換性、サポートスケジュールについて説明しています。
バージョンのサポート
新機能、パフォーマンス向上、セキュリティ修正を得るには、必ず最新リリースを使いましょう。 新機能は、現在のリリースにのみ追加されます。
現在のバージョン
バージョン1.11.0が現在の一般公開(GA)リリースです。
バージョン履歴
| バージョン | リリース日 | 地位 | 主要な機能 |
|---|---|---|---|
| 1.11.0 | 2026 年 7 月 | 現在 | コンテキストマネージャーのコミット/ロールバック、Apple Siliconの修正、Service Principalの一括コピー修正 |
| 1.10.0 | 2026 年 6 月 | 前へ | ActiveDirectoryServicePrincipal による一括コピー、Arrow VARCHAR の修正 |
| 1.9.0 | 2026 年 6 月 | 前へ | Rowオブジェクトによる一括コピー、NULLパラメータ型付けの改善 |
| 1.8.0 | 2026 年 5 月 | 前へ | ActiveDirectoryMSIによる一括コピー、Row文字列キーのインデックス作成 |
| 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 月 | 前へ | 初期のGAリリース |
Important
新機能とバグ修正を受けているのは現行バージョン(1.11.0)のみです。 以前のバージョンは機能していますが、アップデートは受信していません。 最高の体験を得たいなら最新バージョンにアップグレードしてください。
Pythonバージョンの互換性
mssql-pythonドライバーはPython 3.10以降が必要です。 新しいプロジェクトを始める場合は、互換性マトリックスで最もサポートされているPythonリリースを最も長いサポートウィンドウでターゲットにしてください。 もし古いPythonバージョン(3.9以降)に制限されているなら、代わりにpyodbcを使うのが良いでしょう。
| Python バージョン | サポートの状態 |
|---|---|
| Python 3.14 | サポートされている |
| Python 3.13 | サポートされている |
| Python 3.12 | サポートされている |
| Python 3.11 | サポートされている |
| 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 Managed Instance | 完全にサポートされています |
| Azure Synapse Analytics (専用プール) | サポートされている |
Microsoft Fabric
| エンドポイント | サポートの状態 |
|---|---|
| Fabric の SQL データベース | 完全にサポートされています |
| ファブリックデータウェアハウス | サポートされている |
| SQL Analytics エンドポイント(Lakehouse) | サポートされている |
| SQL 分析エンドポイント (ミラー化されたデータベース) | サポートされている |
オペレーティング システムの互換性
mssql-pythonドライバーはDDBC(Direct Database Connectivity)を使用しており、MicrosoftのODBCドライバーをインストールする必要はありません。 外部依存を取り除くことで、特にコンテナやCI/CDパイプラインでの展開が簡素化されます。
| オペレーティング システム | アーキテクチャ | サポートの状態 |
|---|---|---|
| ウィンドウズ11 | x64、ARM64 | サポートされている |
| Windows Server 2019、2022、2025 | x64 | サポートされている |
| Ubuntu 22.04, 24.04, 26.04 | x64、ARM64 | サポートされている |
| Debian 11,12 | x64、ARM64 | サポートされている |
| Red Hat Enterprise Linux 8、9 | x64、ARM64 | サポートされている |
| macOS 14、15、26 | Intel、Apple Silicon (ARM64) | サポートされている |
| Alpine Linux | x64 | サポートされている |
機能の互換性
以下の表は、mssql-pythonドライバの現行バージョン(1.11.0)におけるSQL Serverの機能およびそのサポート状況を示しています。 必要な機能(例えばAlways EncryptedやMARSなど)がサポートされていない場合は、 代わりにpyodbc を使うことを検討してください。 以前のバージョンで追加された機能については 、「mssql-pythonの新しいもの」をご覧ください。
SQL Server 機能
| 特徴 | MSSQL-pythonのサポート |
|---|---|
| 暗号化された接続 (TLS) | サポートされている |
| 常に暗号化されています | サポートしていません |
| Microsoft Entra 認証 | サポートされている |
| 複数のアクティブな結果セット (MARS) | サポートしていません |
| 一括コピー (BCP) | サポートされている |
| Apache Arrow の取得 | サポートされている |
| sql_variant列 | サポートされている |
| ネイティブ UUID | サポートされている |
| 接続の弾力性 | サポートされている |
| 読み取り専用ルーティング | サポートされている |
DB-API 2.0 コンプライアンス
| 特徴 | Support |
|---|---|
| モジュールインターフェース | 対応 |
| Connection インターフェイス | 対応 |
| カーソルインターフェース | ほとんどは従順です |
| 型オブジェクト | 対応 |
| 例外 | 対応 |
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はなし)。 |
詳細なガイダンスは 「Migrate from 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ディスカッション:一般的な質問やディスカッションに使われます。