Microsoft.Data.SqlClient をインストール、更新、デプロイする

Microsoft。Data.SqlClientは、SQL Server、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics、Microsoft FabricのSQLデータベース、Microsoft FabricのWarehouse対応の.NETデータプロバイダーです。 ドライバーは.NETランタイムとは独立してNuGetパッケージとして提供されます。

リリースを選んでください

本番環境には対応可能な一般公開(GA)リリースを使用してください。

リリースライン サポート レベル 次の場合に選択します。
7.0 標準定期支援(STS) 最新のドライバー機能が必要で、通常のリリース頻度で更新できます。
6.1 長期サポート (LTS) より長いサポート期間を好み、7.0で導入された機能を必要としません。

現在のパッチバージョン、サポート日、ターゲットフレームワーク、データベース互換性については、 SqlClientドライバのサポートライフサイクルを参照してください。

コアパッケージをインストールしてください

プロジェクトファイルを含むディレクトリから次のコマンドを実行します:

dotnet add package Microsoft.Data.SqlClient

コマンドはプロジェクトに対応する最新の安定バージョンを選択します。 繰り返しビルド用のバージョンをピン留めするには、バージョンを指定します:

dotnet add package Microsoft.Data.SqlClient --version <version>

依存関係を復元し、プロジェクトを構築する:

dotnet restore
dotnet build

ドライバー名空間をC#でインポートします:

using Microsoft.Data.SqlClient;

新しいアプリケーションでは、古い System.Data.SqlClient パッケージや名前空間を参照しないでください。 既存のアプリケーションを更新するには、「System.Data.SqlClientからMicrosoftへの移行」を参照してください。Data.SqlClient

Visual Studio を使用してインストールする

  1. ソリューション エクスプローラーでプロジェクトを右クリックし、「Manage NuGet Packages」を選択します。
  2. Browse タブで、Microsoft.Data.SqlClient を検索してください。
  3. Microsoftが所有するパッケージを選択してください。
  4. サポートされている安定版を選択し、インストールを選択します。

詳細については、「Visual Studioでパッケージをインストールおよび管理」をご覧ください。

オプションパッケージの追加

オプションパッケージは、アプリケーションが関連機能を使用している場合にのみインストールしてください。

Package 追加する場合
Microsoft.Data.SqlClient.Extensions.Azure Microsoft。Data.SqlClient 7.0以降は、Active Directory DefaultActive Directory InteractiveActive Directory Managed Identityなどのドライバーが提供するMicrosoft Entra認証モードを使用します。
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider Always EncryptedはAzure Key Vaultにカラムマスターキーを保存します。

SqlClient 7.0 以降で Microsoft Entra 認証を使用するには、次を実行します:

dotnet add package Microsoft.Data.SqlClient.Extensions.Azure --version <same-version-as-Microsoft.Data.SqlClient>

7.0コアパッケージにはもはやAzure Identityの依存関係は含まれていません。 バージョン7.0.2以降、コアドライバーおよび補助パッケージはアラインドバージョンを使用しています。 Microsoft.Data.SqlClientMicrosoft.Data.SqlClient.Extensions.Azureの同じバージョンを参照してください。 ドライバー提供のMicrosoft Entra認証を使わないアプリケーションは、Azure拡張パッケージを必要としません。 認証の設定については、Microsoft Entra認証を参照してください。

ドライバーを更新する

更新する前に、次の手順を実行します。

  1. Microsoft.Data.SqlClient の新機能と、今回の更新でまたがる各バージョンについてのアップストリームのリリース ノートをお読みください。

  2. アプリケーションの直接的および推移的なパッケージ参照を確認してください。

    dotnet list package --include-transitive
    
  3. パッケージの参照を更新してください。

    dotnet add package Microsoft.Data.SqlClient --version <version>
    
  4. 復元、ビルド、アプリケーションのテストを実行してください。

  5. 各サポートデータベースターゲットに対して、接続確立、認証、証明書検証、接続プーリング、データ型変換、トランザクション、再試行の動作をテストします。

メジャーリリースやパッチリリースではアプリケーションの変更が必要な場合があります。 例えば、バージョン4.0ではデフォルトで暗号化が可能となり、バージョン5.0ではSqlConnectionStringBuilder.EncryptboolからSqlConnectionEncryptOptionに変更され、バージョン7.0ではドライバーによるMicrosoft Entra認証が別のパッケージに移行されました。

バージョン7.0.2からは、 Microsoft.Data.SqlClient.Extensions.AzureMicrosoft.Data.SqlClient.Extensions.AbstractionsMicrosoft.Data.SqlClient.Internal.Logging のアセンブリ版が 1.0.0.0 から 7.0.0.0に変更されました。 .NETフレームワークのアプリケーションは、アラインメントされたパッケージに対して再構築するか、バインディングリダイレクトを追加する必要があります。 現在の.NET上のアプリケーションは、このアセンブリIDの変更の影響を受けません。

ターゲットフレームワークを理解する

Microsoft。Data.SqlClient 7.0は以下のアプリケーションをサポートしています:

  • Windows版の.NET Framework 4.6.2以降。
  • .NET 8以降のバージョンはWindows、Linux、macOS版に対応しています。

NuGetパッケージには、ライブラリ用の.NET Standard 2.0互換アセットも含まれています。 実行可能アプリケーションは、サポートされている.NETまたは.NETフレームワークのランタイムをターゲットにしなければなりません。 ライブラリの.NET Standardターゲットがすべての消費ランタイムをサポートするわけではありません。

このパッケージはNuGetを通じて管理される依存関係とネイティブ依存関係を復元します。 個別のドライバーアセンブリやネイティブのSQLネットワークインターフェース(SNI)ライブラリをアプリケーション間でコピーしないでください。

展開の準備をする

  1. 本番環境で使用されているのと同じオペレーティングシステムとアーキテクチャでPublish。 フレームワーク依存型展開の場合:

    dotnet publish --configuration Release
    

    ランタイム固有のデプロイの場合:

    dotnet publish --configuration Release --runtime <runtime-identifier>
    
  2. 完全な発行出力をデプロイします。 Microsoft.Data.SqlClient.dllだけを選ばないでください。

  3. ターゲットが必要な.NETランタイムを持っているか確認してください。自己完結型アプリケーションを公開しない限り。

  4. 公開された出力をターゲットのオペレーティングシステムとアーキテクチャでテストします。

  5. 本番環境で使用されるすべての認証モードをテストしてください。 統合認証、Kerberos、証明書、マネージドアイデンティティ、Azure Key Vaultアクセスは展開環境に依存します。

  6. 解決済みの依存関係グラフをスキャンして既知の脆弱性を探し、修正が可能になったらサポートパッケージラインを更新してください。

グローバリゼーション不変モードはサポートされていません。 現在のプラットフォーム資格については 、「サポートオペレーティングシステム」を参照してください。

オフラインパッケージのインストール

NuGet.org からパッケージとその依存関係をダウンロードし、内部パッケージソースにコピーし、そこから復元します。 繰り返しのオフラインビルドの場合は、パッケージのバージョンをピン留めし、依存関係セット全体を保持します。