Microsoft.Data.SqlClient の新機能

Microsoft。Data.SqlClientは.NETとは独立して出荷されます。 この記事では、各リリースラインにおける重要な機能、挙動の変更点、互換性の変更点をまとめます。 リリーステーブルには、すべての安定パッケージの公開が含まれており、ホットフィックスや非公開パッケージも含まれます。 すべての修正や依存関係の更新については、 SqlClientリポジトリの完全なリリースノートをご覧ください。

最新リリース

リリース ライン 最新バージョン リリース日 Support
7.1 7.1.0 2026 年 9 月 標準定期支援(STS)
7.0 7.0.3 2026 年 9 月 標準定期支援(STS)
6.1 6.1.7 2026 年 9 月 長期サポート (LTS)

本番環境でプレビューリリースは使わないでください。 プレビューAPIや動作は、一般公開(GA)前に変更されることがあります。

リリース表や一般提供サマリーはNuGetの出版月を使用しています。 ライフサイクル記事には公式リリース日が記載されており、異なる場合があります。 サポートウィンドウについては、 SqlClientドライバーのサポートライフサイクルを参照してください。

7.1 STS

バージョン7.1は2026年9月に一般公開されました。 現在のSTSラインです。

特徴と変更点

  • SqlBatch.NETフレームワークのサポート。
  • 非同期 SqlConnection.GetSchemaAsync 過負荷。
  • TDS USERAGENTペイロードの SqlConnection.RegisteredApplication およびバージョン2を通じたアプリケーション識別報告。 接続を確立する前にプロパティを設定してください。 その値は接続プールキーの一部ではないため、再利用された物理接続は元々その接続を作成したアプリケーションを示します。 アプリケーション識別はクライアントが提供するテレメトリであり、認可やその他のセキュリティ判断の根拠ではありません。
  • ColumnEncryption、ConnectTimeout、FailoverPartner、PacketSize、WorkstationIdなどの接続文字列エイリアス。
  • SqlBulkCopy における $node_id、$edge_id、$from_id、$to_id の SQL Graph の疑似列マッピング。
  • SqlConnection.GetSchema によって返される DataTypes コレクション内の、Azure SQL を含む SQL Server json 型。
  • オプトインSwitch.Microsoft.Data.SqlClient.UseLegacyIdleTimeoutBehavior=falseの適用を通じたConnection Idle Timeout。 デフォルトのアイドルタイムアウトは300秒です。0 を指定すると、アイドルの有効期限が無効になります。 デフォルトのプーリング動作は変わりません。
  • Switch.Microsoft.Data.SqlClient.UseOverallConnectTimeoutForPoolWait=trueを通じたプール接続を待つ時間を含むオプトイン接続タイムアウトモードです。 スイッチはデフォルトで falseになります。
  • トランザクションサポートの拡大、切断された接続の復旧、プールのウォームアップ、アイドルプリニング、リークした接続の回収、そして接続プールV2の診断機能。 プールは評価中であり、Switch.Microsoft.Data.SqlClient.UseConnectionPoolV2 が必要です。
  • Always Encrypted キー ストア プロバイダーの非同期メソッド ドライバはまだコマンド実行時にこれらのメソッドを呼び出していないため、既存のAlways Encrypted操作を非同期にはしません。
  • ネイティブSNIパッケージを7.1.0に更新しました。 サポートされるアプリケーションターゲットは、.NET Framework 4.6.2以降のバージョンと.NET 8以降のバージョンのままです。

互換性の変更

  • SqlConnectionStringBuilder.TransparentNetworkIPResolutionは.NET Frameworkでは廃止されています。 MultiSubnetFailover を代わりに使用します。 この変更はコンパイル時の警告を追加します。しかし、実行時の挙動やどちらのオプションのデフォルトも変わりません。
  • SqlBatchCommand.CommandBehavior と SqlBatch.ExecuteReader に渡された CommandBehavior は尊重されます。 以前のバージョンではこれらの設定が無視されていました。
  • 旧式の Type System Version=SQL Server 2000 接続オプションは、接続を開くと ArgumentException が出てしまいます。 Latestのようなサポートされた値を使いましょう。

バージョン7.1には、6.1.7および7.0.3で提供された証明書およびエンクレーブ検証の修正も含まれています。 管理されたSNIで証明書の検証を有効にすると、ServerCertificate は設定済みの証明書ファイルとサーバーが提示する証明書を比較します。 無効または読み取れないファイルは、設定された証明書チェックを回避せずに接続は失敗します。 仮想セキュアモード(VSM)およびホストガーディアンサービス(HGS)エンクレーブ認証は、エンクレーブ公開鍵が署名済み認証レポートに紐づいていることを確認します。 これらの修正が含まれていない以前のリリースからアップグレードする際には、これらのパスを再テストしてください。

主な修正点

  • TransactionScopeロールバック後に切断されたままのプーリング接続により、後のBeginTransaction()呼び出しが失敗する可能性があった問題を修正。
  • マネージドSNIで名前付きパイプ上のIPv6リテラルサーバー名を固定しました。
  • 明示的な精度とスケールを持つ大きなdecimalパラメータのオーバーフロー、sql_variant パラメータおよび DateOnly を使用するテーブル値パラメータ、ならびに IsDBNull() の後でストリーム化された列データがスキップされる問題を修正しました。
  • 接続プールカウンター、不要なプールメンテナンスタイマーの動作、および接続プール V2 のオープン/クローズのスループット低下を修正しました。
  • 設定可能な再試行ロジックが修正され、現代の .NET 上でプロセス全体に及ぶ永続的なアセンブリ解決ハンドラが登録される問題を修正しました。 カスタムリトライアセンブリはアプリケーションベースディレクトリに存在しなければなりません。プロバイダー構築後にロードされる依存関係は通常のアプリケーション依存性解決かアプリケーション提供のハンドラーで解決しなければなりません。

リリース

バージョン リリース済み 顧客に関連する変更点
7.1.0 2026 年 9 月 7.1プレビューサイクルからの累積変更を含む一般公開リリース。

Important

コアドライバーとともに、直接参照されたコンパニオンパッケージ( Microsoft.Data.SqlClient.Extensions.Azure、 Microsoft.Data.SqlClient.Extensions.Abstractions、 Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProviderも含む)を7.1.0にアップグレードしてください。 Microsoft.Data.SqlClient.Internal.Loggingを推移的に解決します。 アラインドアセンブリはAssemblyVersion 7.0.0.0を保持するため、7.0.2や7.0.3からの更新に新しい.NET Frameworkバインディングリダイレクトは必要ありません。 7.0.0または7.0.1からアップデートする際は、 7.0.2のリリースノートに記載された一度限りのアセンブリバージョン変更を確認してください。

Azure Key Vault Provider 7.1.0リリースは非同期キーストアプロバイダーメソッドを実装し、キャッシュの肥大化や同時実行時の重複したキー クライアントを修正します。 これらの非同期メソッドは直接プロバイダー呼び出しで有効です。ドライバのコマンド実行パスは依然として同期キー操作を使用します。 Azureの拡張機能および拡張抽象化のリリースは、公開APIの変更なしにバージョンを揃えています。

プレビュー履歴については、 preview1、 preview2、 preview3のリリースノートをご覧ください。

7.0 STS

バージョン7.0は2026年3月に一般公開されました。 7.1リリースから3か月後の2026年12月17日までサポートが続きます。

特徴と変更点

  • ドライバーによるMicrosoft Entra認証はコアパッケージからMicrosoft.Data.SqlClient.Extensions.Azureへ移行しました。 Active Directory認証モードを使うときに拡張機能パッケージを追加してください。
  • コアパッケージはもはやAzure.Core、Azure.Identity、またはMicrosoft Authentication Library(MSAL)に依存しません。
  • SqlConnection.SspiContextProvider カスタムKerberosおよびNTLMトークン交渉をサポートします。 プロバイダーの識別は接続プールキーの一部です。
  • Azure SQL Hyperscaleおよび名前付きリードレプリカの強化ルーティングは自動的に交渉されます。
  • 厳密に型指定されたコマンド、接続、およびトランザクションの診断イベントは、.NET Framework と現行の .NET で利用できます。
  • SqlConfigurableRetryFactory.BaselineTransientErrors ドライバーのデフォルトの一時的エラーリストを公開します。
  • Active Directory Password 認証は時代遅れです。 ユーザーアプリケーションにはインタラクティブ認証、サービスにはサービスプリンシパル認証、AzureホストワークロードにはマネージドIDを使いましょう。
  • ターゲットサポートは.NET Framework 4.6.2および.NET 8から始まります。 このドライバーは.NET 10でのビルドと実行もサポートしています。

非同期読み取りのためのパケット多重化はプレビュー機能のままであり、7.0ではオプトイン(選択可能)となっています。 互換性スイッチは本番ワークロードでテストし、ロールバック手段を確保してください。

リリース

バージョン リリース済み 顧客に関連する変更点
7.0.0 2026 年 3 月 一般公開リリース。
7.0.1 2026 年 4 月 SQL Server 2016 と Azure Synapse Analytics の専用 SQL プール向けの SqlBulkCopy メタデータ クエリを修正し、ベクター フィールドのメタデータを修正し、不足していた .NET Framework System.Data.Common 依存関係を追加し、認証抽象化の型転送を追加しました。
7.0.2 2026 年 6 月 コアドライバーおよび補助パッケージの整合、TDSトークン解析の強化、Always Encrypted署名検証キャッシュ処理の修正、キャンセルおよびヌルバッファの GetBytes ・ GetChars 呼び出しのエラー修正。
7.0.3 2026 年 9 月 SNIを6.0.3に更新しました。 修正されたSqlBulkCopyメタデータアクセス、トレース割り当て、マネージドSNIでのServerCertificate検証、Always Encryptedエンクレーブ構成証明AccessTokenCallbackキーの検証、.NET Framework のTNIRデフォルト、認証状態保持、設定可能な再試行アセンブリ解決などが含まれます。 SSPIとトークン認証の設定が競合していると、InvalidOperationExceptionがスローされるようになりました。 対応する Azure 拡張機能は、Dataverse と Dynamics 365 接続の Entra authority の解析を修正します。

Important

7.0.2からは、 Microsoft.Data.SqlClient、 Microsoft.Data.SqlClient.Extensions.Azure、 Microsoft.Data.SqlClient.Extensions.Abstractions、 Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProviderへの直接参照を整列させます。 Microsoft.Data.SqlClient.Internal.Loggingを推移的に解決します。 .NET Frameworkでは、Extensions.Azure、Extensions.Abstractions、Internal.Loggingのアセンブリ版が1.0.0.0から7.0.0.0に変更されました。 これらのパッケージを更新する際には、アプリケーションを再構築するか、バインディングリダイレクトを追加してください。

6.1 LTS

バージョン6.1.0は2025年7月にリリースされましたが、重要な回帰のため後にリストから外されました。 2025年8月にリリースされたバージョン6.1.1は、サポートされる6.1 LTSラインを確立しました。

特徴と変更点

  • SqlVector<T> を介した SQL Server 2025 でのネイティブなベクトル転送。当初は単精度浮動小数点ベクトルに対応。
  • ライブラリ互換性のための.NET Standard 2.0参照資産です。 このアセットはランタイム実装ではありません。 実行可能アプリケーションは、サポートされている.NETまたは.NET Frameworkのランタイムアセットを使用しなければなりません。
  • 大規模な非同期読み取りに対するオプトインパケット多重化や、Microsoft FabricのSQLデータベースのエンドポイント処理が可能となります。
  • ネイティブ AOT コンパイルのサポートを強化。
  • 接続およびTDS処理経路の割り当て削減。
  • 7.0で追加された公共セキュリティサポートプロバイダーインターフェース(SSPI)拡張性の内部基盤。

バージョン6.1.0は導入しないでください。 バージョン6.1.1は影響を受けたパケット検出および再生の変更を元に戻しました。

リリース

バージョン リリース済み 顧客に関連する変更点
6.1.0 2025 年 7 月 一般公開リリース。 このパッケージは重要な回帰分析のため非公開でした。 そのような情報を使用してはいけません。
6.1.1 2025 年 8 月 6.1.0からの部分パケット検出、修正、再生の変更を元に戻しました。 補正されたベクトル参照アセンブリと SqlVector<T>.Null。
6.1.2 2025 年 10 月 早期パフォーマンスカウンタの初期化、カスタム認証プロバイダーの置き換え、設定済みの最大プールサイズの使用を妨げるプール並行性の固定。
6.1.3 2025 年 11 月 Basic Availability Groupsやカスタムポートの IgnoreServerProvidedFailoverPartner を追加しました。 初期のEventSourceメトリクスの初期化を修正しました。
6.1.4 2026 年 1 月 EnableMultiSubnetFailoverByDefaultを追加しました。 SqlDataAdapter バッチ処理の失敗と、プールメトリクスでアクティブ接続数が負の値になる問題を修正しました。
6.1.5 2026 年 4 月 非統合認証における不要なサービス プリンシパル名 (SPN) およびドメイン ネーム システム (DNS) の処理を削除し、ExecuteScalar がデータ受信後に返されるサーバー エラーを伝播するようにし、ベクター メタデータ型を修正しました。
6.1.6 2026 年 6 月 Windows Web Account Manager (WAM) ブローカーのオプトイン サポートを追加し、TDS トークン解析を強化し、キャッシュされた列マスター キー署名の失敗を修正し、GetChars 引数の検証を修正しました。
6.1.7 2026 年 9 月 SNIを6.0.3に更新しました。 マネージドSNIの固定ServerCertificate検証、Always Encryptedのエンクレーブ認証鍵検証、.NETフレームワークのTNIRデフォルトAccessTokenCallback、接続プールキーのトークン認証状態、コールバックベースの事前ログイン証明書検証、構成可能な再試行アセンブリ解決。

過去のリリースライン

以下のリリースラインは現在サポートされていません。 複数のドライバーバージョンをまたぐアップグレードを計画する際は、彼らのサマリーを活用してください。

6.0

バージョン6.0は2025年1月に一般公開されました。 最終パッチは2026年1月にリリースされた6.0.5でした。

  • Microsoft.Data.SqlTypes.SqlJson を介して、読み取り、書き込み、ストリーミング、一括コピーパスを含むネイティブな SQL Server JSON のサポートを追加しました。
  • コマンド、接続、およびトランザクション イベント向けの、公開された厳密に型指定された診断ペイロードが追加されました。
  • OpenWithoutRetryを含むOpenAsync(SqlConnectionOverrides, CancellationToken)が追加されました。
  • DataTableおよびSqlDataRecord構造化パラメータにおけるDateOnlyおよびTimeOnlyサポートを追加しました。
  • .NET 9のサポートを追加しました。
  • .NET Standardと.NET 6のランタイムアセットは廃止しました。 サポート対象は.NET Framework 4.6.2以降のバージョンと.NET 8以降のバージョンとなりました。
  • テキストコマンドに限定 EnableOptimizedParameterBinding 。

リリース

バージョン リリース済み 顧客に関連する変更点
6.0.0 2025 年 1 月 一般公開リリース。 このパッケージはNuGetに非公開されており、上流のメモにも理由は記載されていません。
6.0.1 2025 年 1 月 参照API SqlClientDiagnostic 、ダウンレベルのTLS警告、依存関係を修正しました。
6.0.2 2025 年 4 月 ソケット受信時に発生する可能性のある null の不具合、SqlJson参照 API、JSON 出力パラメーター、および依存関係を修正しました。
6.0.3 2025 年 10 月 カスタム認証プロバイダーが置き換えられないようにし、Max Pool Size を十分に活用していなかったプールの並行性の問題を修正しました。
6.0.4 2025 年 11 月 カスタムTCPポートを使用するBasic Availability Group用の Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner を追加しました。
6.0.5 2026 年 1 月 バッチRPCのヌル処理 SqlDataAdapter 修正、 Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefaultの追加、依存関係の更新。

5.2

バージョン5.2は2024年2月に一般公開されました。 最終パッチは2025年4月にリリースされた5.2.3でした。

  • 非同期かつプール互換のトークン取得のための SqlConnection.AccessTokenCallback を追加しました。
  • .NET 6以降のバージョンでSqlBatchとSqlBatchCommandを追加しました。
  • .NETスタンダードでSqlDiagnosticListenerサポートを追加しました。
  • 64ビット SqlBulkCopy.RowsCopied64を追加しました。 古い RowsCopied プロパティは32ビット整数のままです。
  • Active Directory Workload Identity認証を追加しました。
  • .NET 8およびビッグエンディアンプラットフォームのサポートを追加。
  • UseOneSecFloorInTimeoutCalculationDuringLoginをデフォルトでtrueに変更しました。
  • .NET 7以降のバージョンでマネージドSSPIにNegotiateAuthenticationを使用しました。

リリース

バージョン リリース済み 顧客に関連する変更点
5.2.0 2024 年 2 月 一般公開リリース。
5.2.1 2024 年 5 月 Linux での名前付きインスタンス接続(ポート指定時)、FireInfoMessageEventOnUserErrors、datetimeoffset(n) テーブル値パラメーター、OpenAsync の遅延、および AccessTokenCallback による SqlConnection.Clone() の保持に関する問題を修正。
5.2.2 2024 年 8 月 固定トークンタイムアウト、マネージドSNIソケット接続、アセンブリターゲティング、SSPIリトライ、ユーザー定義型読み取り、暗号化リーダーデータ。 CVE-2024-35255の更新されたアイデンティティパッケージ。
5.2.3 2025 年 4 月 ソケット受信時に発生する可能性のある null に起因する失敗と参照アセンブリの不整合を修正し、負の一時的エラー番号を許容し、依存関係を更新しました。

5.1

バージョン5.1は2023年1月に一般公開されました。 最終パッチは2026年1月にリリースされた5.1.9でした。

  • .NET 6のサポートを追加し、.NET Core 3.1は廃止しました。
  • パラメーター値およびTimeOnlyに対するGetFieldValueとDateOnlyのサポートを追加しました。
  • .NETでTLS 1.3を追加し、ネイティブのSQL Serverネットワークインターフェース(SNI)パスも導入しました。
  • Encrypt=MandatoryとEncrypt=Strictの証明書を正確に照合するためのServerCertificateを追加しました。
  • .NETフレームワークのWindows ARM64サポートを追加しました。
  • SqlConnectionEncryptOption文字列パーサーを公開しました。
  • バージョン5.1.3はCVE-2024-0056の暗号化ダウングレードパスと証明書チェーン検証を修正しました。

リリース

バージョン リリース済み 顧客に関連する変更点
5.1.0 2023 年 1 月 一般公開リリース。
5.1.1 2023 年 3 月 Always Encrypted のエラー報告、リダイレクト モードのトランザクション、トークン スロットリング、大規模クエリの TDS RPC 障害、および GetBytesAsync null 処理に関する不具合を修正しました。
5.1.2 2023 年 10 月 SQL Express のユーザー インスタンス、エンクレーブの再試行、LocalDB、接続文字列ビルダーの値、SqlConnectionEncryptOption の構成変換、および OpenAsync の一時的な障害に関する問題を修正しました。
5.1.3 2024 年 1 月 CVE-2024-0056および証明書チェーン検証の修正。
5.1.4 2024 年 1 月 .NET の分散トランザクションのデッドロックを修正し、CVE-2023-36414 に対応するため Azure.Identity をアップグレードしました。
5.1.5 2024 年 1 月 プーリング前のトランザクション クリーンアップと、Always Encrypted における日付と時刻の変換失敗を修正しました。 CVE-2024-21319のIdentityModel依存関係を更新しました。
5.1.6 2024 年 8 月 OpenAsync、認証タイムアウト、および暗号化リーダーの保留データに関する不具合を修正しました。 CVE-2024-35255およびキャッシュされた TokenCredential インスタンスのID依存関係を更新しました。
5.1.7 2025 年 4 月 ソケット-受信のヌル障害の可能性を修正し、ソースアセンブリとリファレンスのアラインメントを行い、依存関係を更新しました。
5.1.8 2025 年 11 月 Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartnerの追加、一括コピーにおけるUTF-8バイト順序マーク処理の修正、MSAL作成の近代化、依存関係の更新。
5.1.9 2026 年 1 月 タイミング SqlStatistics 、 Environment.TickCount に移行し、フレームワーク固有の依存関係を更新しました。

5.0

バージョン5.0は2022年8月に一般公開されました。 最終パッチは2023年3月にリリースされた5.0.2でした。

  • Encrypt=Strict を通じて TDS 8.0 を追加しました。 厳格モードはTDSログイン交換の前にTLSを開始し、常にサーバー証明書を検証します。
  • SqlConnectionStringBuilder.EncryptをboolからSqlConnectionEncryptOptionに変更しました。
  • SQL Server の共通言語ランタイム (CLR) 型を、個別にバージョン管理される Microsoft.SqlServer.Server パッケージに移動しました。
  • Server SPNとFailover Server SPN接続オプションが追加されました。
  • 現行.NETでWindows SQL Serverエイリアスサポートを追加しました。
  • WindowsにSqlDataSourceEnumeratorを追加しました。
  • .NET Framework 4.6.1を中止しました。

Important

SqlConnectionStringBuilder.Encrypt型の変更はバイナリブレイクです。 Microsoft.Data.SqlClient.Serverから削除されたタイプもMicrosoft.SqlServer.Serverを使用するためにソースの変更が必要です。 アプリケーションとライブラリを再コンパイルし、名前空間を更新し、System.Data.SqlClient への参照が残っている場合は名前空間の競合を確認します。

リリース

バージョン リリース済み 顧客に関連する変更点
5.0.0 2022 年 8 月 一般公開リリース。
5.0.1 2022 年 10 月 .NET Framework で HostNameInCertificate を復元し、Attention のデッドロック、SqlConnectionStringBuilder.Encrypt、キャンセル登録、マネージド SNI のハング、UTF-8 照合順序、および SNI アプリケーション ドメインのクラッシュを修正しました。
5.0.2 2023 年 3 月 非同期読み取り時のメモリ リーク、リダイレクト モード TransactionScope での Always Encrypted のエラー、大規模クエリでの TDS RPC の失敗、分散トランザクションのデッドロックを修正しました。

4.1

バージョン4.1は2022年1月に一般公開されました。 最終パッチは2022年9月にリリースされた4.1.1でした。

  • 仮想化ベースセキュリティ(VBS)エンクレーブのための Attestation Protocol=None を追加しました。
  • LinuxおよびmacOSでは、MultiSubnetFailoverが有効の場合、並列化されたSQL Server解決プロトコルのリクエストが行われます。
  • 認証時の証明書取り消しリストチェックを固定しました。
  • Microsoft Entra 認証、NULL SqlBinary値および rowversion 値、ならびに UTF-8 照合順序の動作に関する問題を修正しました。

リリース

バージョン リリース済み 顧客に関連する変更点
4.1.0 2022 年 1 月 一般公開リリース。
4.1.1 2022 年 9 月 証明書取り消しリストの失敗を修正し、MultiSubnetFailoverのSQL Server解決プロトコル要求を並列化し、Microsoft Entra認証、行バージョン、UTF-8、SNIアプリケーションドメインの障害を修正しました。

4.0

バージョン4.0は2021年11月に一般公開されました。 最終パッチは2024年8月にリリースされた4.0.6でした。

  • Encryptのデフォルト値を false から true に変更しました。
  • 多くのパラメータを持つコマンド用の SqlCommand.EnableOptimizedParameterBinding を追加しました。
  • .NET Standard 実装を通じて、Windows 向けに SqlFileStream を追加しました。
  • マネージドSNIで共有LocalDBインスタンスのサポートを追加しました。
  • XmlReader、TextReader、StreamのためのGetFieldValue<T>とGetFieldValueAsync<T>を追加しました。
  • 設定可能な再試行ロジックから安全スイッチを削除しました。 リトライは、アプリケーションがプロバイダーを設定するまで無効化されたままでした。
  • Microsoft Entra の認証失敗時に、SqlException ではなく AggregateException をスローするように変更しました。
  • .NET Core 2.1をやめました。
  • バージョン4.0.5はCVE-2024-0056の暗号化ダウングレードパスと証明書チェーン検証を修正しました。

Important

4.0以降のバージョンでは暗号化がデフォルトで true されるため、アップグレードによって証明書の信頼やサーバー名の不一致が露呈することがあります。 これらのエラーを回避するために暗号化を無効にしないでください。 信頼できるサーバー証明書をインストールするか、展開用の証明書検証を設定してください。

リリース

バージョン リリース済み 顧客に関連する変更点
4.0.0 2021 年 11 月 一般公開リリース。
4.0.1 2022 年 1 月 SuppressInsecureTLSWarning を追加し、.NET 6 の Kerberos、LocalDB のパイプ名、および同時実行されるエンクレーブ クエリを修正しました。
4.0.2 2022 年 9 月 証明書取り消しリストの失敗を修正し、MultiSubnetFailoverのSQL Server解決プロトコル要求を並列化し、Microsoft Entra認証、行バージョン、UTF-8、SNIアプリケーションドメインの障害を修正しました。
4.0.3 2023 年 4 月 キャッシュアカウントのトークンスロットリングの削減と、大規模クエリTDS RPCの失敗を修正しました。
4.0.4 2023 年 10 月 非同期エンクレーブの再トリ、LocalDBおよびマネージドSNIフォールバック、ファイルバージョン、接続活動の相関を修正しました。
4.0.5 2024 年 1 月 CVE-2024-0056および証明書チェーン検証の修正。
4.0.6 2024 年 8 月 プーリング前のトランザクションイベントのクリーンアップとActiveDirectoryAuthenticationProvider.AcquireTokenAsyncタイムアウト処理を修正しました。

3.1

バージョン3.1は2022年3月に一般公開されました。 最終パッチは2024年8月にリリースされた3.1.7でした。

  • VBS エンクレーブ向けに Attestation Protocol=None を追加しました。
  • SQLエラー42108と42109をデフォルトの一時的なエラーリストに追加しました。
  • 3.1.2でWindows ARM64の.NETフレームワークサポートを追加しました。
  • 3.1.3ではサイレントトークン取得により、Microsoft Entraトークンの繰り返し要求が減少しました。
  • 3.1.5でCVE-2024-0056の暗号化ダウングレード経路を修正しました。
  • 3.1.7では、プーリング前のトランザクションクリーンアップとMicrosoft Entraトークンのタイムアウト処理が修正されました。

リリース

バージョン リリース済み 顧客に関連する変更点
3.1.0 2022 年 3 月 一般公開リリース。
3.1.1 2022 年 8 月 null の SqlBinaryrowversion 値、.NET 6 における Kerberos の失敗、および Microsoft Entra 認証での null 参照エラーを修正しました。
3.1.2 2023 年 2 月 .NET Framework Windows ARM64のサポートを追加し、再試行リストのスレッド安全性、分散トランザクションのデッドロック、UTF-8のコレーション、保存手続きの検証を修正しました。
3.1.3 2023 年 3 月 AcquireTokenSilent により Microsoft Entra のトークン スロットリングを軽減し、大規模クエリでの TDS RPC の障害を修正しました。
3.1.4 2023 年 10 月 非同期エンクレーブの再試行、LocalDB とマネージド SNI のフォールバック、ファイル バージョン、接続アクティビティの関連付け、および EventSource の書式設定を修正しました。
3.1.5 2024 年 1 月 CVE-2024-0056および証明書チェーン検証の修正。
3.1.6 2024 年 8 月 この荷物は適切に署名されておらず、リスト外でした。 上流のリリースノートファイルは存在しません。 代わりに3.1.7を使いましょう。
3.1.7 2024 年 8 月 プーリング前のトランザクション イベントのクリーンアップ、認証のタイムアウト、アセンブリ署名、および SNI アプリケーション ドメインのクラッシュに関する問題を修正しました。

3.0

バージョン3.0は2021年6月に一般公開されました。 最終パッチは2021年9月にリリースされた3.0.1でした。

  • 接続およびコマンド操作のためのリトライロジックを追加しました。 3.0では、 Switch.Microsoft.Data.SqlClient.EnableRetryLogicの後ろにオプトインされたままでした。
  • 接続やプールの活動用イベントカウンターを追加しました。
  • Azure.Identity Active Directory Defaultを通じた認証を追加しました。
  • 接続レベルおよびコマンド レベルの Always Encrypted キー ストア プロバイダー登録のサポートが追加されました。
  • TCP IPアドレスの優先順位を追加しました。
  • ユーザー割り当ての管理ID認証を、 User IdのオブジェクトIDではなくクライアントIDを使うように変更しました。
  • SQL のrowversion のnull値を空のバイト配列の代わりに DBNull 返すように変更しました。 AppContextスイッチにより、従来の動作が維持されました。
  • 最低の.NETフレームワーク目標を4.6から4.6.1に引き上げました。

システムキーストアプロバイダーは、3.0以降の接続やコマンドに登録されたプロバイダーよりも優先されます。 カスタムプロバイダーの名前が組み込みプロバイダーと矛盾する場合は、リネームしてください。

リリース

バージョン リリース済み 顧客に関連する変更点
3.0.0 2021年 6 月 一般公開リリース。
3.0.1 2021 年 9 月 Microsoft Entra への接続の確立、トランザクションの昇格状態、必須の暗号化、再試行の再帰およびデッドロック、使用不能な接続に関する問題を修正しました。

2.1

バージョン2.1は2020年11月に一般公開されました。 最終パッチは2024年1月にリリースされた2.1.7でした。

  • Always Encryptedをサポートされた.NET Standard 2.0プラットフォームに拡張しました。
  • Unix上で.NET Coreおよび.NET Standard 2.1プラットフォーム全体でセキュアなエンクレーブサポートを追加しました。
  • Active Directory Device Code Flow とマネージド ID 認証を追加しました。
  • インタラクティブおよびデバイスコード認証のためのカスタマイズフックが追加されました。
  • 感度、分類、ランクのメタデータを追加しました。
  • SqlConnection.ServerProcessIdを追加しました。
  • 接続で作成されたコマンドのデフォルトとして Command Timeout 接続オプションを追加しました。
  • バージョン2.1.7はCVE-2024-0056の暗号化ダウングレードパスを修正しました。

リリース

バージョン リリース済み 顧客に関連する変更点
2.1.0 2020 年 11 月 一般公開リリース。
2.1.1 2020 年 12 月 Azure Functions、Unix Kerberos、TCP keep-aliveにおける固定システム割り当て管理型アイデンティティ。
2.1.2 2021 年 3 月 Unix名付けインスタンスの修正、タイムアウトの誤った結果、安全でないDTD処理、Kerberos SPN、キャッシュ依存関係の欠如、トレーシング、MARSヘッダーの欠如。
2.1.3 2021 年 5 月 オープン結果セットでトランザクションデータの破損を防ぎ、 SinglePhaseCommit と TransactionEnded レースを修正しました。
2.1.4 2021 年 9 月 暗号化が必要な場合に確実に接続が失敗し、接続が使えなくなる状態に固定されます。
2.1.5 2022 年 8 月 ストアドプロシージャCommandTextの長さの検証を追加し、.NET 6 の Kerberos 認証およびSqlTypeWorkaroundsを修正しました。
2.1.6 2023 年 4 月 SqlCommand.ExecuteReaderAsync で発生していた大規模クエリ時の TDS RPC の失敗、既定の UTF-8 照合順序の競合、および ATTENTION 送信時のデッドロックを修正しました。
2.1.7 2024 年 1 月 CVE-2024-0056および証明書チェーン検証の修正。

2.0

バージョン2.0は2020年6月に一般公開されました。 最終パッチは2020年8月にリリースされた2.0.1でした。

  • .NET Coreおよび.NET StandardにActive Directory IntegratedおよびActive Directory Interactive認証を追加しました。
  • Active Directory Service Principal認証を追加しました。
  • Microsoft.Data.SqlClient.EventSource トレース機能を追加しました。
  • クロスプラットフォームTCP keep-aliveと、テストとデバッグのためのWindows上でのオプトイン管理型ネットワーク実装を追加しました。 マネージドパスはドメイン外のWindows 認証をサポートしていませんでした。
  • SqlBulkCopy.RowsCopied を追加し、一括コピーのヒントを順序付けしました。
  • SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry)を追加しました。
  • Microsoft.Data.SqlClient.SNI.runtime 依存関係を介して、Windows ARM のサポートを追加しました。
  • サーバーが暗号化を強制する際に、接続文字列がEncrypt=falseを設定する際にも、サーバー証明書の検証を開始しました。 証明書が信頼できなかったり、名前がサーバーと一致しない場合、このアップグレード後に接続が失敗することがあります。
  • 10進パラメータのスケール処理を変更し、SQL Server互換の丸めを用います。

リリース

バージョン リリース済み 顧客に関連する変更点
2.0.0 2020 年 6 月 一般公開リリース。
2.0.1 2020 年 8 月 共存に優しい認証設定、固定されたプールトークン期限、一時的障害処理、エンクレーブキャッシュ、ネイティブSNI事前ログインエラーの追加。

1.1

バージョン1.1は2019年11月に一般公開されました。 最終パッチは2021年3月にリリースされた1.1.4でした。

  • サポートされる.NETフレームワークおよび.NETコアターゲットに、Always Encryptedと安全なエンクレーブを追加しました。
  • .NET Core で |DataDirectory| に AttachDBFilename の展開を追加しました。
  • マルチパケットターゲットバッファキャッシュによる非同期リードの改善。
  • TdsParserStateObjectとSqlDataReaderでのスナップショットオーバーヘッドを削減します。
  • 後のパッチでは、タイムアウト状態および複数アクティブ結果セット(MARS)ヘッダーエラーが修正されました。

リリース

バージョン リリース済み 顧客に関連する変更点
1.1.0 2019 年 11 月 一般公開リリース。
1.1.1 2020 年 2 月 デッドロックを引き起こした非同期 SNIPacket の変更を元に戻し、SNI 依存関係のバージョン範囲を修正しました。
1.1.2 2020 年 4 月 Active Directoryインタラクティブ認証用のユーザー名を追加し、パスワードの永続性およびMARS TDSヘッダーを固定しました。
1.1.3 2020 年 5 月 トランザクションの中断時にプールされた接続が割り当てられるのを防ぎ、MARS ヘッダーの修正によるパフォーマンス低下を元に戻しました。
1.1.4 2021 年 3 月 .NET Framework 4.8以降のバージョンにおけるタイムアウト状態の誤った結果およびMARSヘッダーエラーを修正しました。

1.0

Microsoft。Data.SqlClient 1.0は2019年8月に一般公開されました。 最終パッチは2019年9月にリリースされた1.0.19269.1でした。

  • 別途発送された Microsoft.Data.SqlClient プロバイダーを導入しました。
  • .NET Framework 4.6以降のバージョン、.NET Core 2.1以降のバージョン、.NET Standard 2.0をサポートしていました。
  • .NETフレームワークにActive Directory Interactive認証を追加しました。
  • .NET CoreにActive Directory Password認証を追加しました。
  • SqlDataReaderにデータ感度分類メタデータを追加しました。
  • SQL Server 2019 UTF-8のコレーションサポートを追加しました。
  • .NET CoreでAlways Encryptedのサポートを追加しました。

リリース

バージョン リリース済み 顧客に関連する変更点
1.0.19239.1 2019 年 8 月 一般公開リリース。 トランザクションの失敗後の接続再利用、SNI の公開、グローバリゼーション非依存の処理、およびバルク コピーでの null の拡張に関する問題を修正しました。
1.0.19249.1 2019 年 9 月 Unix上で固定された大規模マルチパケットデータの読み込み。
1.0.19269.1 2019 年 9 月 SqlCommand.StatementCompletedを復元し、欠けていたSqlConnectionStringBuilder.Authenticationを追加し、互換性のないSqlAuthenticationParameters.ResourceAPIの変更を元に戻しました。

古いプロバイダーから移行するアプリケーションの場合は、リリース ノートだけを読むのではなく、Migrate from System.Data.SqlClient to Microsoft.Data.SqlClient を参照してください。

オプションパッケージリリースノート

オプションパッケージにはそれぞれのリリースノートがあります。 バージョン7.0.2からは、コアドライバーとバージョンに合わせた形で出荷されるようになりました。

Package リリース ノート
Microsoft.Data.SqlClient.Extensions.Azure Azure 拡張リリースノート
Microsoft.Data.SqlClient.Extensions.Abstractions 拡張抽象化リリースノート
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider Azure Key Vault Provider リリースノート

Microsoft.Data.SqlClient.Internal.Logging を直接参照しないでください。 これはドライバーパッケージ間で共有される内部依存関係です。

アップデートを評価する

  1. すべてのドライバーおよびオプションパッケージのバージョンを直接的または推移的に特定してください。
  2. アップデートで発生したすべてのマイナーおよびメジャーバージョンのリリースノートを読んでください。
  3. ターゲットフレームワークおよびデータベース互換性については、 SqlClientドライバーのサポートライフサイクル を確認してください。
  4. 関連するすべてのパッケージを互換性のあるバージョンに更新してください。
  5. アプリケーションの認証、暗号化、接続プーリング、パラメータ、トランザクション、再試行、診断、デプロイ出力の構築とテストを行います。

インストールおよびデプロイ コマンドについては、「Microsoft.Data.SqlClient のインストール、更新、およびデプロイ」を参照してください。