Installare, aggiornare e distribuire Microsoft. Data.SqlClient

Microsoft.Data.SqlClient è il provider di dati .NET supportato per SQL Server, database SQL di Azure, Istanza gestita di SQL di Azure, Azure Synapse Analytics, database SQL in Microsoft Fabric e data warehouse in Microsoft Fabric. Il driver viene fornito come pacchetti NuGet indipendentemente dal runtime .NET.

Seleziona una release

Utilizzare una release supportata di Disponibilità Generale (GA) per applicazioni di produzione. L'ultima versione GA è Microsoft.Data.SqlClient 7.1.1.

Linea di rilascio Versione più recente Livello di supporto Sceglilo quando
7.1 7.1.1 Supporto a Termine Standard (STS) Hai bisogno delle funzionalità attuali dei driver e puoi aggiornare con la frequenza di rilascio regolare.
7.0 7.0.3 Supporto a Termine Standard (STS) Hai bisogno di aggiornamenti correttivi mentre ti prepari all'aggiornamento prima che il supporto termini il 17 dicembre 2026.
6.1 6.1.7 Supporto a lungo termine (LTS) Preferisci un periodo di supporto più lungo e non hai bisogno delle funzionalità introdotte nella versione 7.x.

Per le versioni attuali delle patch, le date di supporto, i framework target e la compatibilità con il database, vedi ciclo di vita del supporto driver SqlClient.

Installa il pacchetto core

Esegui il seguente comando dalla directory che contiene il file del tuo progetto:

dotnet add package Microsoft.Data.SqlClient

Il comando seleziona l'ultima versione stabile compatibile con il progetto. Per fissare una versione per build ripetibili, specifica la versione:

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

Il comando aggiunge un PackageReference elemento al tuo file di progetto. Per la versione 7.1.1, il file di progetto contiene questa riga:

<PackageReference Include="Microsoft.Data.SqlClient" Version="7.1.1" />

Se aggiungi anche Microsoft.Data.SqlClient.Extensions.Azure, anche il suo PackageReference usa la stessa versione.

Ripristinare le dipendenze e costruire il progetto:

dotnet restore
dotnet build

Se il ripristino o la compilazione segnala un avviso su un pacchetto con una vulnerabilità nota, come o NU1903, segui i passaggi in NU1902.

Importa il namespace del driver in C#:

using Microsoft.Data.SqlClient;

Per le nuove applicazioni, non fare riferimento al vecchio System.Data.SqlClient pacchetto o allo spazio di nomi. Per aggiornare un'applicazione esistente, vedi Migra da System.Data.SqlClient a Microsoft. Data.SqlClient.

Installare con Visual Studio

  1. In Esplora soluzioni, clicca con il tasto destro sul progetto e seleziona Gestisci i pacchetti NuGet.
  2. Nella scheda Naviga, cerca Microsoft.Data.SqlClient.
  3. Seleziona il pacchetto di proprietà di Microsoft.
  4. Seleziona una versione stabile supportata, poi seleziona Installa.

Per altre informazioni, vedere Installare e gestire i pacchetti in Visual Studio usando NuGet Gestione pacchetti.

Aggiungi pacchetti opzionali

Installa pacchetti opzionali solo quando la tua applicazione utilizza la funzione correlata.

Package Aggiungilo quando
Microsoft.Data.SqlClient.Extensions.Azure Microsoft. Data.SqlClient 7.0 o versioni successive utilizzano una modalità di autenticazione Microsoft Entra fornita dal driver, come Active Directory Default, Active Directory Interactive, o Active Directory Managed Identity.
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider Always Encrypted memorizza le chiave master delle colonne in Azure Key Vault.

Per l'autenticazione Microsoft Entra con SqlClient 7.0 o successivo, esegui:

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

Il pacchetto core 7.0 non include più le dipendenze di Azure Identity. A partire dalla versione 7.0.2, il driver base e i pacchetti companion utilizzano versioni allineate. Fai riferimento alla stessa versione di Microsoft.Data.SqlClient e Microsoft.Data.SqlClient.Extensions.Azure. Le applicazioni che non utilizzano l'autenticazione Microsoft Entra fornita dal driver non necessitano del pacchetto di estensione Azure. Per la configurazione dell'autenticazione, vedi Autenticazione Microsoft Entra con Microsoft.Data.SqlClient.

Aggiornare il driver

  1. Prima di aggiornare, controlla questi elementi:

    • Leggi Novità di Microsoft.Data.SqlClient e le note sulla versione upstream per ogni versione interessata dall'aggiornamento.

    • Elencare i riferimenti ai pacchetti diretti e transitivi dell'applicazione:

      dotnet list package --include-transitive
      
    • Annota ogni pacchetto compagno a cui l'applicazione fa riferimento direttamente, come Microsoft.Data.SqlClient.Extensions.Azure o Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.

  2. Aggiorna il riferimento del pacco.

    dotnet add package Microsoft.Data.SqlClient --version <version>
    
  3. Per la versione 7.0.2 e successive, aggiorna ogni pacchetto companion a cui si fa riferimento direttamente alla stessa versione.

  4. Ripristinare, costruire ed eseguire i test dell'applicazione.

  5. Verificare l'instaurazione della connessione, l'autenticazione, la validazione dei certificati, il pool di connessioni, le conversioni dei tipi di dati, le transazioni e il comportamento dei tentativi di ripetizione per ciascun database di destinazione supportato.

Le release principali e le patch possono richiedere modifiche alle applicazioni. Ad esempio, la versione 4.0 abilitava la crittografia di default, la versione 5.0 passava SqlConnectionStringBuilder.Encrypt da bool , SqlConnectionEncryptOptione la versione 7.0 spostava l'autenticazione Microsoft Entra fornita dal driver in un pacchetto separato.

A partire dalla versione 7.0.2, le versioni assembly di Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions, e Microsoft.Data.SqlClient.Internal.Logging sono passate da 1.0.0.0 a 7.0.0.0. Le applicazioni di .NET Framework devono essere ricompilate usando i pacchetti allineati oppure devono essere aggiunti i reindirizzamenti di binding. Le applicazioni basate sull'attuale .NET non sono interessate da questo cambiamento dell'identità dell'assembly.

Informazioni sui framework di destinazione

Microsoft.Data.SqlClient 7.1 supporta le applicazioni in esecuzione su:

  • .NET 8 o versioni successive supportavano Windows, Linux e macOS.
  • .NET Framework 4.6.2 o successivo su Windows.

Il pacchetto NuGet contiene anche un asset di compatibilità .NET Standard 2.0 per librerie. Un'applicazione eseguibile deve essere destinata a un runtime supportato di .NET o di .NET Framework. Il target .NET Standard di una libreria non implica che ogni runtime che la utilizza sia supportato.

Il pacchetto ripristina le sue dipendenze gestite e native tramite NuGet. Non copiare singoli assembly di driver o librerie native dell'interfaccia di rete SQL (SNI) tra applicazioni.

progetti .NET Framework

I campioni in questi articoli sono destinati a .NET. Per nuovi sviluppi, usa .NET invece di .NET Framework. Per ulteriori informazioni, vedi Panoramica del framework .NET.

I progetti che puntano al framework .NET usano di default C# 7.3, quindi un campione scritto per .NET non compila lì senza modifiche. Avvio rapido: Connettiti e consulta con Microsoft.Data.SqlClient ha una scheda .NET Framework con una versione C# 7.3 del suo esempio.

Preparare la distribuzione

  1. Pubblica per lo stesso sistema operativo e la stessa architettura usati in produzione. Per una distribuzione dipendente dal framework:

    dotnet publish --configuration Release
    

    Per una distribuzione specifica del runtime:

    dotnet publish --configuration Release --runtime <runtime-identifier>
    
  2. Distribuire l'output completo di pubblicazione. Non selezionare solo Microsoft.Data.SqlClient.dll.

  3. Conferma che il target abbia il runtime .NET richiesto, a meno che tu non pubblichi un'applicazione autonoma.

  4. Testa l'output pubblicato sul sistema operativo e sull'architettura di destinazione.

  5. Testa ogni modalità di autenticazione utilizzata in produzione. Autenticazione integrata, Kerberos, certificati, identità gestita e accesso ad Azure Key Vault dipendono dall'ambiente di distribuzione.

  6. Scansiona il grafo delle dipendenze risolte per vulnerabilità note e aggiorna le linee di pacchetto supportate quando sono disponibili correzioni.

La modalità invariante alla globalizzazione non è supportata. Per le qualifiche attuali delle piattaforme, vedi Sistemi operativi supportati.

Installazione offline del pacchetto

Scarica il pacchetto e le sue dipendenze da NuGet.org, copiali su una sorgente interna del pacchetto e ripristina da quella fonte. Per build offline ripetibili, blocca le versioni dei pacchetti e mantieni l'intero insieme delle dipendenze.