Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Microsoft. Data.SqlClient est livré indépendamment de .NET. Cet article résume les fonctionnalités significatives, les changements de comportement et les changements de compatibilité de chaque gamme de sortie. Les tableaux de publication incluent toutes les publications de paquets stables, y compris chaque correctif urgent et chaque paquet non répertorié. Pour chaque correction et mise à jour de dépendance, consultez les notes de version complètes dans le dépôt SqlClient.
Versions actuelles
| Ligne de sortie | Version la plus récente | Date de sortie | Support |
|---|---|---|---|
| 7.0 | 7.0.3 | Septembre 2026 | Soutien à terme standard (STS) |
| 6.1 | 6.1.7 | Septembre 2026 | Support à long terme (LTS) |
| Préversion 7.1 | 7.1.0-preview3.26238.4 | Août 2026 | Preview |
N’utilisez pas les versions de prévisualisation en production. Les API et comportements des prévisualisations peuvent changer avant la disponibilité générale (GA).
Les tableaux de sortie et les résumés de disponibilité générale utilisent le mois de publication NuGet. L’article sur le cycle de vie liste les dates officielles de sortie, qui peuvent différer. Pour les fenêtres de support, voir le cycle de vie du support des pilotes SqlClient.
version préliminaire 7.1
La version préliminaire 7.1 étend le traitement par lots, la découverte de schémas, la mise en pool de connexions et les API Always Encrypted. Les changements jusqu’à la version 7.1.0-preview3 incluent :
-
SqlBatchprise en charge sur .NET Framework. - Surcharges asynchrones
SqlConnection.GetSchemaAsync. - Aliases de chaînes de connexion telles que
ColumnEncryption,ConnectTimeout,FailoverPartner,PacketSize, etWorkstationId. - Mappages de pseudo-colonnes SQL Graph pour
$node_id,$edge_id,$from_idet$to_iddansSqlBulkCopy. - Application facultative du délai d’inactivité de la connexion.
- Un mode de délai d’attente de connexion volontaire qui inclut le temps passé à attendre une connexion regroupée.
- Poursuite du développement du pool de connexions expérimental basé sur des canaux.
- Méthodes asynchrones sur les fournisseurs de stockage de clés Always Crypted. Le pilote n’appelle pas encore ces méthodes lors de l’exécution des commandes, donc elles ne rendent pas les opérations Always Encrypted existantes asynchrones.
SqlBatchCommand.CommandBehavior est pris en compte à partir de cette ligne. Les versions antérieures ignoraient cette propriété. L’option de connexion obsolète Type System Version=SQL Server 2000 génère maintenant une ArgumentException.
Preview3 modifie également la validation des certificats et de l’enclave.
ServerCertificate compare toujours le fichier de certificat configuré avec le certificat présenté par le serveur. Un fichier invalide ou illisible échoue alors à la connexion au lieu de recourir à la validation du nom d’hôte. L’attestation en mode sécurisé virtuel (VSM) et en service de garde hôte (HGS) vérifie désormais que la clé publique de l’enclave est liée au rapport d’attestation signé. Testez à nouveau ces parcours lorsque vous quittez une version préliminaire antérieure.
Lisez les notes de version pour preview1, preview2 et preview3 avant de tester cette ligne.
7.0 STS
La version 7.0 a atteint une disponibilité générale en mars 2026. C’est la gamme STS actuelle.
Caractéristiques et changements
- L’authentification Microsoft Entra fournie par le pilote est passée du package de base à
Microsoft.Data.SqlClient.Extensions.Azure. Ajoutez le package d’extension lorsque vous utilisez unActive Directorymode d’authentification. - Le package de base ne dépend plus de
Azure.Core,Azure.Identity, ni de Microsoft Authentication Library (MSAL). -
SqlConnection.SspiContextProviderprend en charge la négociation personnalisée des jetons Kerberos et NTLM. L’identité du fournisseur fait partie de la clé du pool de connexion. - Le routage amélioré pour Azure SQL Hyperscale et les réplices de lecture nommées sont négociés automatiquement.
- Des événements de diagnostic de commande, de connexion et de transaction fortement typés sont disponibles sur .NET Framework et les versions actuelles de .NET.
-
SqlConfigurableRetryFactory.BaselineTransientErrorsExpose la liste d’erreurs transitoires par défaut du pilote. -
Active Directory Passwordl’authentification est obsolète. Utilisez l’authentification interactive pour les applications utilisateurs, l’authentification par principal de service pour les services, ou l’identité managée pour les charges de travail hébergées sur Azure. - La prise en charge commence à partir de .NET Framework 4.6.2 et de .NET 8. Le pilote supporte également la compilation et l’exécution sur .NET 10.
Le multiplexage de paquets pour les lectures asynchrones reste une fonctionnalité en préversion et doit être activé explicitement dans la version 7.0. Testez les options de compatibilité avec des charges de travail de production et prévoyez une procédure de retour arrière.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 7.0.0 | Mars 2026 | Communiqué de disponibilité générale. |
| 7.0.1 | Avril 2026 | Correction des requêtes de métadonnées SqlBulkCopy pour SQL Server 2016 et les pools SQL dédiés Azure Synapse Analytics, correction des métadonnées des champs vectoriels, ajout de la dépendance manquante à .NET Framework System.Data.Common, et ajout du transfert de type pour les abstractions d’authentification. |
| 7.0.2 | Juin 2026 | Aligner le pilote principal et les packages associés, renforcer l’analyse des jetons TDS, corriger la gestion du cache de vérification des signatures d’Always Encrypted et corriger les erreurs dans les appels d’annulation et les appels avec tampon nul GetBytes et GetChars. |
| 7.0.3 | Septembre 2026 | Mise à jour SNI vers la 6.0.3. Correction d’une régression liée à SqlBulkCopy pour les ouvertures de session qui ne peuvent pas lire sys.all_columns, d’une régression d’allocation mémoire lorsque le traçage est désactivé, de la validation ServerCertificate sur SNI managé, de la vérification de la clé d’attestation d’enclave pour Always Encrypted, et d’un mécanisme configurable de nouvelle tentative pour l’enregistrement d’un gestionnaire de résolution d’assembly à l’échelle du processus. |
Important
À partir de la 7.0.2, aligner les références directes à Microsoft.Data.SqlClient, Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions, et Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider. Laissez Microsoft.Data.SqlClient.Internal.Logging se résoudre transitivement. Sur .NET Framework, les versions d’assemblage de Extensions.Azure, , et Internal.Logging sont passées de 1.0.0.0 à 7.0.0.0Extensions.Abstractions. Reconstruis l’application ou ajoute des redirections de liaison lorsque tu mets à jour ces paquets.
6.1 LTS
La version 6.1.0 est sortie en juillet 2025, mais a ensuite été retirée de la liste en raison de régressions critiques. La version 6.1.1, publiée en août 2025, a marqué la mise en place de la branche 6.1 LTS prise en charge.
Caractéristiques et changements
- Prise en charge native du transport de vecteurs dans SQL Server 2025 via
SqlVector<T>, initialement pour des vecteurs en virgule flottante à simple précision. - Un asset de référence .NET Standard 2.0 pour la compatibilité des bibliothèques. Cet asset n’est pas une implémentation à l’exécution. Les applications exécutables doivent utiliser un composant d’exécution pris en charge pour .NET ou .NET Framework.
- Le multiplexage de paquets par option fonctionne pour les lectures asynchrones volumineuses et la gestion des terminaux pour la base de données SQL dans Microsoft Fabric.
- Prise en charge améliorée de la compilation native Ahead-of-Time (AOT).
- Réduction des allocations dans les chemins de connexion et de traitement TDS.
- Les bases internes de l’extension publique de la Security Support Provider Interface (SSPI) ont été posées dans la version 7.0.
Ne déployez pas la version 6.1.0. La version 6.1.1 a annulé les changements affectés de détection et de relecture des paquets.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 6.1.0 | Juillet 2025 | Communiqué de disponibilité générale. Ce paquet n’a pas été répertorié à cause de régressions critiques. Ne l’utilisez pas. |
| 6.1.1 | Août 2025 | Annulation des modifications de détection, de correction et de rejeu des paquets partiels introduites dans la version 6.1.0. Correction des assemblages de référence de vecteurs et de SqlVector<T>.Null. |
| 6.1.2 | Octobre 2025 | Correction de l’initialisation précoce du compteur de performance, remplacement des fournisseurs d’authentification personnalisés et concurrence du pool qui empêchait l’utilisation de la taille maximale du pool configurée. |
| 6.1.3 | Novembre 2025 | Ajouté IgnoreServerProvidedFailoverPartner pour les groupes de disponibilité de base et les ports personnalisés. Correction de l’initialisation anticipée des métriques EventSource. |
| 6.1.4 | Janvier 2026 | Ajout de EnableMultiSubnetFailoverByDefault. Correction SqlDataAdapter des échecs de batching et des comptes négatifs de connexions actives dans les métriques du pool. |
| 6.1.5 | Avril 2026 | Suppression du traitement inutile lié au Nom principal de service (SPN) et au Système de noms de domaine (DNS) pour l’authentification non intégrée, modification de ExecuteScalar pour propager les erreurs serveur renvoyées après les données, et correction des types de métadonnées de vecteur. |
| 6.1.6 | Juin 2026 | Ajout de la prise en charge facultative du broker Windows Web Account Manager (WAM), renforcement de l’analyse des jetons TDS, correction des échecs de signature des clés maîtresses de colonne mises en cache et correction de la validation des arguments GetChars. |
| 6.1.7 | Septembre 2026 | Mise à jour SNI vers la 6.0.3. Correction de la validation sur ServerCertificate SNI géré, de la vérification de la clé d’attestation de l’enclave Always Encrypted, du comportement de nouvelle tentative de connexion AccessTokenCallback, et de la nouvelle tentative configurable enregistrant un gestionnaire de résolution d’assembly à l’échelle du processus. |
Lignes de sorties précédentes
Les lignes de sortie suivantes ne sont plus prises en charge. Utilisez leurs résumés lorsque vous planifiez une mise à niveau sur plusieurs versions de pilotes.
6.0
La version 6.0 a atteint une disponibilité générale en janvier 2025. Le dernier correctif était la 6.0.5, sortie en janvier 2026.
- Ajout du support JSON natif de SQL Server via
Microsoft.Data.SqlTypes.SqlJson, incluant les chemins de lecture, d’écriture, de streaming et de copie en masse. - Ajout de charges utiles de diagnostic publiques et fortement typées pour les événements de commande, de connexion et de transaction.
- Ajout de
OpenAsync(SqlConnectionOverrides, CancellationToken), y comprisOpenWithoutRetry. - Ajout de la prise en charge de
DateOnlyetTimeOnlydans les paramètres structurésDataTableetSqlDataRecord. - Ajout du support .NET 9.
- Suppression des ressources d’exécution pour .NET Standard et .NET 6. Les cibles prises en charge devinrent .NET Framework 4.6.2 et versions ultérieures, ainsi que .NET 8 et versions ultérieures.
- Limité
EnableOptimizedParameterBindingaux commandes textuelles.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 6.0.0 | Janvier 2025 | Communiqué de disponibilité générale. Ce paquet n’est pas listé sur NuGet, et les notes en amont ne documentent pas la raison. |
| 6.0.1 | Janvier 2025 | Correction des API de référence SqlClientDiagnostic, des avertissements TLS pour les versions antérieures et des dépendances. |
| 6.0.2 | Avril 2025 | Correction des échecs possibles de réception sur socket liés à des valeurs nulles, des SqlJson API de référence, des paramètres de sortie au format JSON et des dépendances. |
| 6.0.3 | Octobre 2025 | Empêchement du remplacement des fournisseurs d’authentification personnalisés et correction d’un problème de concurrence du pool qui sous-utilisait Max Pool Size. |
| 6.0.4 | Novembre 2025 | Ajouté Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner pour les groupes de disponibilité de base utilisant des ports TCP personnalisés. |
| 6.0.5 | Janvier 2026 | Correction de la gestion des valeurs nulles du RPC par lots SqlDataAdapter, ajout de Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault, et mise à jour des dépendances. |
5.2
La version 5.2 a été disponible en février 2024. Le dernier patch était la 5.2.3, sortie en avril 2025.
- Ajout de
SqlConnection.AccessTokenCallbackpour l’obtention asynchrone de jetons, compatible avec les pools. - Ajout de
SqlBatchet deSqlBatchCommanddans .NET 6 et les versions ultérieures. - Ajout de la prise en charge de
SqlDiagnosticListenersur .NET Standard. - Ajout de 64 bits
SqlBulkCopy.RowsCopied64. La propriété plus ancienneRowsCopiedreste un entier 32 bits. - Ajout de l’
Active Directory Workload Identityauthentification. - Ajout du support .NET 8 et des plateformes big-endian.
- Modification de
UseOneSecFloorInTimeoutCalculationDuringLoginpour utilisertruepar défaut. - Utilisé
NegotiateAuthenticationpour le SSPI géré sur .NET 7 et versions ultérieures.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 5.2.0 | Février 2024 | Communiqué de disponibilité générale. |
| 5.2.1 | Mai 2024 | Correction des connexions Linux aux instances nommées avec ports, des paramètres table datetimeoffset(n), des OpenAsync différés, et de la préservation de AccessTokenCallback par SqlConnection.Clone(). |
| 5.2.2 | Août 2024 | Délais fixes de token, connexions SNI socket gérées, ciblage d’assemblage, tentatives SSPI, lectures de types définies par l’utilisateur, et données de lecteurs chiffrés. Paquets d’identité mis à jour pour CVE-2024-35255. |
| 5.2.3 | Avril 2025 | Correction des échecs possibles de réception sur socket liés à des valeurs nulles et des incohérences des assemblys de référence, autorisation des numéros d’erreur transitoires négatifs et mise à jour des dépendances. |
5,1
La version 5.1 a atteint une disponibilité générale en janvier 2023. Le dernier patch était la 5.1.9, sortie en janvier 2026.
- Ajout du support .NET 6 et suppression de .NET Core 3.1.
- Ajout de la prise en charge de
DateOnlyetTimeOnlypour les valeurs de paramètres etGetFieldValue. - Ajout de TLS 1.3 en .NET et des chemins natifs SQL Server Network Interface (SNI).
- Ajouté
ServerCertificatepour obtenir une correspondance exacte des certificats avecEncrypt=MandatoryetEncrypt=Strict. - Ajout du support Windows ARM64 pour .NET Framework.
- Le parseur de chaînes
SqlConnectionEncryptOptionest désormais public. - La version 5.1.3 a corrigé le chemin de rétrogradation du chiffrement CVE-2024-0056 et la validation de la chaîne de certificats.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 5.1.0 | Janvier 2023 | Communiqué de disponibilité générale. |
| 5.1.1 | Mars 2023 | Correction du signalement des erreurs d’Always Encrypted, des transactions en mode redirection, de la limitation du débit des jetons, des échecs TDS RPC sur les requêtes volumineuses et de la gestion des valeurs nulles GetBytesAsync. |
| 5.1.2 | Octobre 2023 | Correction des instances utilisateur SQL Express, des nouvelles tentatives liées aux enclaves, de LocalDB, des valeurs du générateur de chaînes de connexion, de la conversion de configuration SqlConnectionEncryptOption et des erreurs transitoires OpenAsync. |
| 5.1.3 | Janvier 2024 | CVE-2024-0056 corrigé et validation de la chaîne de certificats. |
| 5.1.4 | Janvier 2024 | Correction d’un blocage de transactions distribuées .NET et mise à jour Azure.Identity pour CVE-2023-36414. |
| 5.1.5 | Janvier 2024 | Correction du nettoyage des transactions avant le pooling et des échecs de conversion de date et d’heure avec Always Encrypted. Dépendances mises à jour d’IdentityModel pour CVE-2024-21319. |
| 5.1.6 | Août 2024 | Correction de OpenAsync, de l’expiration du délai d’authentification et des échecs liés aux données en attente du lecteur chiffré. Dépendances d’identité mises à jour pour CVE-2024-35255 et instances mises en cache TokenCredential. |
| 5.1.7 | Avril 2025 | Correction d’un possible échec de réception sur socket lié à une valeur nulle, alignement des assemblies de source et de référence, et mise à jour des dépendances. |
| 5.1.8 | Novembre 2025 | Ajout de Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner, correction de la gestion de la marque d’ordre des octets UTF-8 lors de la copie en masse, modernisation de la création de MSAL et mise à jour des dépendances. |
| 5.1.9 | Janvier 2026 | J’ai déplacé SqlStatistics le timing vers Environment.TickCount et mis à jour les dépendances spécifiques au framework. |
5.0
La version 5.0 a été disponible en août 2022. Le dernier patch était la 5.0.2, sorti en mars 2023.
- Ajout de TDS 8.0 via
Encrypt=Strict. Le mode strict lance TLS avant l’échange de connexion TDS et valide toujours le certificat serveur. - Changé
SqlConnectionStringBuilder.EncryptdeboolàSqlConnectionEncryptOption. - Types CLR de SQL Server déplacés vers le package
Microsoft.SqlServer.Server, versionné séparément. - Ajout des options de connexion
Server SPNetFailover Server SPN. - Ajout de la prise en charge des alias Windows SQL Server dans la version actuelle de .NET.
- Ajout de
SqlDataSourceEnumeratorsous Windows. - J’ai abandonné le framework .NET 4.6.1.
Important
Le changement de type SqlConnectionStringBuilder.Encrypt constitue une rupture de compatibilité binaire. Les types retirés de Microsoft.Data.SqlClient.Server nécessitent également des modifications de source pour utiliser Microsoft.SqlServer.Server. Recompiler les applications et les bibliothèques, mettre à jour les espaces de noms et vérifier les conflits d’espaces de noms lorsque System.Data.SqlClient est toujours référencé.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 5.0.0 | Août 2022 | Communiqué de disponibilité générale. |
| 5.0.1 | Octobre 2022 | Restauration de HostNameInCertificate sur .NET Framework et correction des interblocages d’attention, SqlConnectionStringBuilder.Encrypt, de l’enregistrement d’annulation, des blocages de SNI managé, du classement UTF-8 et d’un plantage de domaine d’application lié à SNI. |
| 5.0.2 | Mars 2023 | Correction d’une fuite de mémoire lors de la lecture asynchrone, du mode de redirection TransactionScope, des erreurs Always Encrypted, des échecs RPC TDS liés aux requêtes volumineuses et des interblocages de transactions distribuées. |
4.1
La version 4.1 a atteint une disponibilité générale en janvier 2022. Le dernier patch était la 4.1.1, sortie en septembre 2022.
- Ajout de
Attestation Protocol=Nonepour les enclaves de sécurité basée sur la virtualisation (VBS). - Requêtes du protocole de résolution SQL Server parallélisées sur Linux et macOS lorsque
MultiSubnetFailoverest activé. - Vérification fixe de la liste de la révocation de certificats lors de l’authentification.
- Correction de l’authentification Microsoft Entra, des valeurs null
SqlBinaryet rowversion, ainsi que du comportement de collation UTF-8.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 4.1.0 | Janvier 2022 | Communiqué de disponibilité générale. |
| 4.1.1 | Septembre 2022 | Correction des échecs liés à la liste de révocation des certificats, parallélisation des requêtes du protocole de résolution SQL Server pour MultiSubnetFailover, et correction des défaillances liées à l’authentification Microsoft Entra, à rowversion, à UTF-8, à SNI et au domaine d’application. |
4,0
La version 4.0 a été disponible en novembre 2021. Le dernier patch était la 4.0.6, sortie en août 2024.
- Changement de valeur
Encryptpar défaut de defalseàtrue. - Ajouté
SqlCommand.EnableOptimizedParameterBindingpour des commandes avec de nombreux paramètres. - Ajouté
SqlFileStreampour Windows via l’implémentation .NET Standard. - Ajout du support des instances LocalDB partagées dans SNI géré.
- Ajouté
GetFieldValue<T>etGetFieldValueAsync<T>pourXmlReader,TextReader, etStream. - Suppression de l’interrupteur de sécurité de la logique de réessayage configurable. Retry restait désactivé jusqu’à ce qu’une application configure un fournisseur.
- Les échecs d’authentification à Microsoft Entra génèrent désormais
SqlExceptionau lieu deAggregateException. - J’ai abandonné .NET Core 2.1.
- La version 4.0.5 a corrigé le chemin de rétrogradation du chiffrement CVE-2024-0056 et la validation de la chaîne de certificats.
Important
Parce que le chiffrement est activé par défaut à partir de la version 4.0, une mise à jour peut révéler des problèmes de confiance des certificats ou de non-correspondance de nom de serveur. Ne désactivez pas le chiffrement pour contourner ces erreurs. Installer un certificat serveur de confiance ou configurer la validation des certificats pour le déploiement.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 4.0.0 | Novembre 2021 | Communiqué de disponibilité générale. |
| 4.0.1 | Janvier 2022 | Ajout et correction de Kerberos .NET 6, noms de pipes LocalDB et requêtes d’enclave concurrentesSuppressInsecureTLSWarning. |
| 4.0.2 | Septembre 2022 | Correction des échecs liés à la liste de révocation des certificats, parallélisation des requêtes du protocole de résolution SQL Server pour MultiSubnetFailover, et correction des défaillances liées à l’authentification Microsoft Entra, à rowversion, à UTF-8, à SNI et au domaine d’application. |
| 4.0.3 | Avril 2023 | Réduction de la limitation des jetons de comptes mis en cache et correction des échecs RPC TDS liés aux requêtes volumineuses. |
| 4.0.4 | Octobre 2023 | Correction des problèmes liés aux nouvelles tentatives asynchrones pour l’enclave, au mécanisme de repli pour LocalDB et le SNI managé, aux versions de fichiers et à la corrélation de l’activité des connexions. |
| 4.0.5 | Janvier 2024 | CVE-2024-0056 corrigé et validation de la chaîne de certificats. |
| 4.0.6 | Août 2024 | Nettoyage des événements transactionnels fixés avant le pooling et ActiveDirectoryAuthenticationProvider.AcquireTokenAsync la gestion du timeout. |
3.1
La version 3.1 a atteint une disponibilité générale en mars 2022. Le dernier patch était la 3.1.7, sorti en août 2024.
- Ajout de
Attestation Protocol=Nonepour les enclaves VBS. - Ajout des erreurs SQL 42108 et 42109 à la liste d’erreurs transitoires par défaut.
- Ajout du support Windows ARM64 pour .NET Framework dans la version 3.1.2.
- Réduction des demandes répétées de jeton Microsoft Entra grâce à l’acquisition silencieuse de jeton dans la version 3.1.3.
- Correction du chemin de rétrogradation du chiffrement CVE-2024-0056 dans la version 3.1.5.
- Correction du nettoyage des transactions avant la mise en pool et de la gestion du délai d’expiration des jetons Microsoft Entra dans la version 3.1.7.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 3.1.0 | mars 2022 | Communiqué de disponibilité générale. |
| 3.1.1 | Août 2022 | Correction des valeurs nulles de SqlBinaryrowversion, des échecs Kerberos dans .NET 6 et des erreurs de référence nulles lors de l’authentification Microsoft Entra. |
| 3.1.2 | Février 2023 | Ajout du support .NET Framework Windows ARM64 et correction de la sécurité des threads par liste de réessays, blocages de transactions distribuées, collation UTF-8 et validation des procédures stockées. |
| 3.1.3 | Mars 2023 | Réduction de la limitation des jetons Microsoft Entra avec AcquireTokenSilent et correction des échecs RPC TDS liés aux requêtes volumineuses. |
| 3.1.4 | Octobre 2023 | Correction des retentions asynchrones de l’enclave, du repli LocalDB et SNI géré, des versions de fichiers, de la corrélation d’activité de connexion et du formatage EventSource. |
| 3.1.5 | Janvier 2024 | CVE-2024-0056 corrigé et validation de la chaîne de certificats. |
| 3.1.6 | Août 2024 | Ce colis n’était pas correctement signé et non listé. Aucun fichier de note de sortie en amont n’existe. Utilisez plutôt la 3.1.7. |
| 3.1.7 | Août 2024 | Correction du nettoyage des événements de transaction avant la mise en pool, des délais d’expiration de l’authentification, de la signature des assemblys et d’un plantage de domaine d’application SNI. |
3.0
La version 3.0 a été disponible en juin 2021. Le dernier patch était la 3.0.1, sortie en septembre 2021.
- Ajout d’une logique de réessayage configurable pour les opérations de connexion et de commande. Dans la version 3.0, cette fonctionnalité restait activable uniquement via
Switch.Microsoft.Data.SqlClient.EnableRetryLogic. - Ajout d’EventCounters pour l’activité de connexion et de pool.
- Ajout de l’authentification
Active Directory DefaultviaAzure.Identity. - Ajout de l’enregistrement du fournisseur de stockage de clés Always Encrypted à portée de connexion et commande.
- Ajout de la préférence d’adresse IP TCP.
- Modification de l’authentification de l’identité managée assignée par l’utilisateur pour utiliser l’ID client au lieu de l’ID d’objet dans
User Id. - Modifié les valeurs NULL SQL rowversion pour renvoyer
DBNullau lieu d’un tableau d’octets vide. Un commutateur AppContext a conservé l’ancien comportement. - Augmentation de l’objectif minimum du cadre .NET de 4.6 à 4.6.1.
Les fournisseurs de stockage de clés système ont la priorité sur ceux enregistrés sur une connexion ou une commande à partir de la version 3.0. Renommer un fournisseur personnalisé si son nom entre en conflit avec un fournisseur intégré.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 3.0.0 | Juin 2021 | Communiqué de disponibilité générale. |
| 3.0.1 | Septembre 2021 | Correction du blocage de l’ouverture des connexions Microsoft Entra, de l’état de promotion des transactions, du chiffrement requis, de la récursion des nouvelles tentatives et des interblocages, ainsi que des connexions inutilisables. |
2.1
La version 2.1 a été disponible en novembre 2020. Le dernier patch était la 2.1.7, sortie en janvier 2024.
- Extension de Toujours Chiffré aux plateformes .NET Standard 2.0 prises en charge.
- Ajout du support sécurisé de l’enclave sur Unix pour .NET Core et sur les plateformes .NET Standard 2.1.
- Ajout de
Active Directory Device Code Flowet de l’authentification par identité gérée. - Ajout de points d’extension pour l’authentification interactive et l’authentification par code d’appareil.
- Ajout des métadonnées de rang de classification de sensibilité.
- Ajout de
SqlConnection.ServerProcessId. - J’ai ajouté l’option
Command Timeoutde connexion comme référence par défaut pour les commandes créées par une connexion. - La version 2.1.7 a corrigé le chemin de rétrogradation du chiffrement CVE-2024-0056.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 2.1.0 | Novembre 2020 | Communiqué de disponibilité générale. |
| 2.1.1 | Décembre 2020 | Identité managée fixée attribuée au système dans Azure Functions, Unix Kerberos et TCP keep-alive. |
| 2.1.2 | mars 2021 | Correction des instances nommées Unix, des résultats erronés liés au délai d’expiration, du traitement non sécurisé des DTD, des SPN Kerberos, des dépendances de mise en cache manquantes, du traçage et des en-têtes MARS. |
| 2.1.3 | Mai 2021 | Correction de la corruption des données de transaction avec des jeux de résultats ouverts et correction d’une condition de concurrence SinglePhaseCommitetTransactionEnded. |
| 2.1.4 | Septembre 2021 | Des connexions assurées échouent lorsque le chiffrement est nécessaire et des connexions fixes entrent dans un état inutilisable. |
| 2.1.5 | Août 2022 | Ajout de la validation de la longueur des procédures CommandText stockées et correction de l’authentification Kerberos dans .NET 6 et de SqlTypeWorkarounds. |
| 2.1.6 | Avril 2023 | Correction des échecs RPC TDS liés aux requêtes volumineuses dans SqlCommand.ExecuteReaderAsync, des conflits de collation UTF-8 par défaut et des interblocages lors de l’envoi d’un signal d’attention. |
| 2.1.7 | Janvier 2024 | CVE-2024-0056 corrigé et validation de la chaîne de certificats. |
2.0
La version 2.0 a atteint sa disponibilité générale en juin 2020. Le dernier correctif était la 2.0.1, sorti en août 2020.
- Ajout de l’authentification
Active Directory IntegratedetActive Directory Interactivepour .NET Core et .NET Standard. - Ajout de l’
Active Directory Service Principalauthentification. - Ajout du
Microsoft.Data.SqlClient.EventSourcetraçage. - Ajout d’un mécanisme TCP de maintien de connexion multiplateforme et d’une implémentation optionnelle de mise en réseau gérée sous Windows pour les tests et le débogage. Le chemin géré ne supportait pas l'Authentification Windows non-domaine.
- Ajout de
SqlBulkCopy.RowsCopiedet réorganisation des indices de copie en masse. - Ajout de
SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry). - Ajout du support Windows ARM via la
Microsoft.Data.SqlClient.SNI.runtimedépendance. - A commencé à valider le certificat serveur lorsqu’un serveur force le chiffrement, y compris lorsque la chaîne de connexion définit
Encrypt=false. Les connexions peuvent échouer après cette mise à niveau si le certificat n’est pas fiable ou si son nom ne correspond pas au serveur. - Modification de la gestion de l’échelle des paramètres décimaux pour utiliser un arrondi compatible SQL Server.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 2.0.0 | Juin 2020 | Communiqué de disponibilité générale. |
| 2.0.1 | Août 2020 | Ajout d’une configuration d’authentification compatible avec la coexistence et correction de l’expiration des jetons mis en pool, de la gestion des erreurs transitoires, de la mise en cache de l’enclave et des erreurs natives SNI de préconnexion. |
1.1
La version 1.1 a atteint une disponibilité générale en novembre 2019. Le dernier patch était la 1.1.4, sorti en mars 2021.
- Ajout de Always Encrypted avec des enclaves sécurisées sur les cibles .NET Framework et .NET Core prises en charge.
- Ajout
|DataDirectory|d’une extensionAttachDBFilenamesur .NET Core. - Lectures asynchrones améliorées avec la mise en cache multipaquets cible-buffer.
- Réduction de la surcharge liée aux instantanés dans
TdsParserStateObjectetSqlDataReader. - Correction des erreurs liées à l’état de temporisation et à l’en-tête Multiple Active Result Sets (MARS) dans des correctifs ultérieurs.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 1.1.0 | Novembre 2019 | Communiqué de disponibilité générale. |
| 1.1.1 | Février 2020 | Annulation des changements asynchrones SNIPacket causant des blocages et correction de la plage de dépendance SNI. |
| 1.1.2 | Avril 2020 | Ajout de noms d’utilisateur pour l’authentification interactive Active Directory et la persistance fixe des mots de passe et des en-têtes TDS MARS. |
| 1.1.3 | Mai 2020 | Empêché les transactions avortées d’intégrer des connexions regroupées et inversé la correction régressive de l’en-tête MARS. |
| 1.1.4 | mars 2021 | Correction des résultats incorrects liés à l’état de délai d’expiration et des erreurs d’en-tête MARS sur .NET Framework 4.8 et les versions ultérieures. |
1.0
Microsoft. Data.SqlClient 1.0 a atteint la disponibilité générale en août 2019. Le dernier correctif était 1.0.19269.1, publié en septembre 2019.
- Ajout du fournisseur
Microsoft.Data.SqlClientdistribué séparément. - Supportait .NET Framework 4.6 et versions ultérieures, .NET Core 2.1 et versions ultérieures, ainsi que .NET Standard 2.0.
- Ajout de l’authentification
Active Directory Interactivedans .NET Framework. - Ajout de l’authentification
Active Directory Passwordsur .NET Core. - Ajout de métadonnées de classification de la sensibilité des données sur
SqlDataReader. - Ajout du support de la compilation SQL Server 2019 UTF-8.
- Ajout du support Always Encrypted sur .NET Core.
Mises à jour
| Version | Publié | Changements pertinents pour les clients |
|---|---|---|
| 1.0.19239.1 | Août 2019 | Communiqué de disponibilité générale. Correction de la réutilisation des connexions après des échecs de transaction, de la publication de SNI, de la gestion du mode de globalisation invariant et de l’élargissement des valeurs nulles lors de la copie en bloc. |
| 1.0.19249.1 | Septembre 2019 | Correction des lectures de données multipaquets volumineuses sur Unix. |
| 1.0.19269.1 | Septembre 2019 | Restauration de SqlCommand.StatementCompleted, ajout du SqlConnectionStringBuilder.Authentication manquant et annulation d’une modification incompatible de l’API SqlAuthenticationParameters.Resource. |
Pour une application qui passe de l’ancien fournisseur, utilisez Migrer de System.Data.SqlClient vers Microsoft. Data.SqlClient au lieu de ne lire que les notes de version.
Notes de sortie optionnelles du paquet
Les packs optionnels ont leurs propres notes de sortie. À partir de la version 7.0.2, ils sont livrés en version alignée avec le pilote principal.
| Package | Notes de publication |
|---|---|
Microsoft.Data.SqlClient.Extensions.Azure |
Notes de publication de l’extension Azure |
Microsoft.Data.SqlClient.Extensions.Abstractions |
Notes de publication des abstractions d’extension |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Notes de publication d’Azure Key Vault Provider |
Ne faites pas directement référence à Microsoft.Data.SqlClient.Internal.Logging. C’est une dépendance interne partagée par les packages de pilotes.
Évaluer une mise à jour
- Identifier chaque pilote et chaque version optionnelle du package utilisée directement ou de manière transitive.
- Lisez les notes de version pour chaque version mineure et majeure concernée par la mise à jour.
- Vérifiez le cycle de vie du support des pilotes SqlClient pour vérifier la compatibilité du framework cible et des bases de données.
- Mettez à jour tous les paquets associés vers des versions compatibles.
- Construisez et testez l’authentification de l’application, le chiffrement, le pooling de connexions, les paramètres, les transactions, les tentatives, les diagnostics et les résultats de déploiement.
Pour les commandes d’installation et de déploiement, voir Installer, mettre à jour et déployer Microsoft. Data.SqlClient.