Was gibt es Neues bei Microsoft? Data.SqlClient

Microsoft. Data.SqlClient wird unabhängig von .NET ausgeliefert. Dieser Artikel fasst die bedeutenden Merkmale, Verhaltensänderungen und Kompatibilitätsänderungen in jeder Release-Reihe zusammen. Die Release-Tabellen enthalten jede Veröffentlichung eines stabilen Pakets, einschließlich aller Hotfix- und nicht gelisteten Pakete. Für jedes Fix- und Abhängigkeitsupdate siehe die vollständigen Versionsnotizen im SqlClient-Repository.

Aktuelle Releases

Releasezeile Neueste Version Erscheinungsdatum Support
7.0 7.0.3 September 2026 Standard-Laufzeitunterstützung (STS)
6.1 6.1.7 September 2026 Langfristiger Support (Long Term Support, LTS)
7.1 Vorschau 7.1.0-preview3.26238.4 August 2026 Preview

Verwende keine Vorschau-Veröffentlichungen in der Produktion. Vorschau-APIs und das Verhalten können sich vor der allgemeinen Verfügbarkeit (GA) ändern.

Veröffentlichungstabellen und allgemeine Verfügbarkeitsübersichten verwenden den NuGet-Veröffentlichungsmonat. Der Lebenszyklusartikel listet offizielle Veröffentlichungsdaten auf, die variieren können. Für Support-Fenster siehe SqlClient-Treiber-Support-Lebenszyklus.

7.1 Vorschau

Die Vorschauzeile 7.1 erweitert Batching, Schema-Discovery, Connection Pooling und Always Encrypted APIs. Änderungen bis einschließlich 7.1.0-preview3 umfassen:

  • SqlBatchUnterstützung im .NET Framework.
  • Asynchrone SqlConnection.GetSchemaAsync Überlastungen.
  • Verbindungsstring-Aliase wie ColumnEncryption, ConnectTimeout, FailoverPartner, PacketSize, und WorkstationId.
  • SQL-Graph-Pseudo-Spaltenabbildungen für $node_id, $edge_id, , $from_idund $to_id in SqlBulkCopy.
  • Optionale Durchsetzung des Leerlauf-Timeouts für Verbindungen.
  • Ein Opt-in-Verbindungs-Timeout-Modus, der die Zeit umfasst, die auf eine gepoolte Verbindung gewartet wird.
  • Weiterentwicklung des experimentellen kanalbasierten Verbindungspools.
  • Asynchrone Methoden für Schlüsselspeicheranbieter von Always Encrypted. Der Treiber ruft diese Methoden während der Befehlsausführung noch nicht auf, sodass bestehende Always Encryption-Operationen nicht asynchron werden.

SqlBatchCommand.CommandBehavior wird ab dieser Zeile berücksichtigt. Frühere Versionen ignorierten die Eigenschaft. Die veraltete Type System Version=SQL Server 2000 Verbindungsoption wirft nun ein ArgumentException.

Preview3 ändert außerdem die Validierung von Zertifikaten und Enklaven. ServerCertificate vergleicht immer die konfigurierte Zertifikatsdatei mit dem vom Server präsentierten Zertifikat. Eine ungültige oder unlesbare Datei scheitert nun an der Verbindung, anstatt auf die Host-Name-Validierung zurückzufallen. Die Enklave-Attestierung im Virtual Secure Mode (VSM) und Host Guardian Service (HGS) bestätigt nun, dass der öffentliche Schlüssel der Enklave an den signierten Attestationsbericht gebunden ist. Teste diese Pfade erneut, wenn du von einer früheren Vorschauversion wechselst.

Lesen Sie die Release Notes für Preview1,Preview2 und Preview3, bevor Sie diese Reihe testen.

7.0 STS

Version 7.0 erreichte im März 2026 die allgemeine Verfügbarkeit. Es ist die aktuelle STS-Linie.

Merkmale und Änderungen

  • Die vom Treiber bereitgestellte Microsoft Entra-Authentifizierung wurde aus dem Core-Paket in Microsoft.Data.SqlClient.Extensions.Azure verschoben. Fügen Sie das Erweiterungspaket hinzu, wenn Sie einen Active DirectoryAuthentifizierungsmodus verwenden.
  • Das Core-Paket hängt nicht mehr von Azure.Identity, Azure.Core oder der Microsoft Authentication Library (MSAL) (MSAL) ab.
  • SqlConnection.SspiContextProvider unterstützt die benutzerdefinierte Kerberos- und NTLM-Token-Aushandlung. Die Provider-Identität ist Teil des Verbindungspool-Schlüssels.
  • Verbessertes Routing für Azure SQL Hyperscale und benannte Lesereplikate wird automatisch ausgehandelt.
  • Stark typisierte Befehle, Verbindungen und Transaktionsdiagnoseereignisse sind im .NET Framework und im aktuellen .NET verfügbar.
  • SqlConfigurableRetryFactory.BaselineTransientErrors macht die Standardliste transienter Fehler des Treibers verfügbar.
  • Active Directory Password Die Authentifizierung ist veraltet. Verwenden Sie interaktive Authentifizierung für Benutzeranwendungen, Service Principal Authentication für Services oder Managed Identity für Azure-gehostete Workloads.
  • Die Zielunterstützung beginnt bei .NET Framework 4.6.2 und .NET 8. Der Treiber unterstützt außerdem das Erstellen und Ausführen von .NET 10.

Paketmultiplexing für asynchrone Lesevorgänge bleibt in Version 7.0 weiterhin eine Vorschaufunktion und muss explizit aktiviert werden. Kompatibilitätsschalter an Produktions-Workloads testen und eine Rollback-Möglichkeit beibehalten.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
7.0.0 März 2026 Allgemein verfügbare Version.
7.0.1 April 2026 SqlBulkCopyMetadatenabfragen für SQL Server 2016 und dedizierte SQL-Pools von Azure Synapse Analytics korrigiert, Vektorfeldmetadaten korrigiert, die fehlende .NET Framework-Abhängigkeit System.Data.Common hinzugefügt und Typweiterleitungen für Authentifizierungsabstraktionen hinzugefügt.
7.0.2 Juni 2026 Die Kerntreiber- und Begleitpakete wurden aufeinander abgestimmt, die TDS-Token-Analyse wurde gehärtet, die Handhabung des Always Encrypted-Signaturverifizierungs-Caches wurde korrigiert und Fehler bei Abbruchvorgängen sowie bei GetBytes- und GetChars-Aufrufen mit Nullpuffer wurden behoben.
7.0.3 September 2026 SNI auf 6.0.3 aktualisiert. Behebung einer SqlBulkCopy-Regression für Logins, die sys.all_columns nicht lesen können, einer Regression bei der Speicherzuweisung, wenn die Ablaufverfolgung deaktiviert ist, ServerCertificate-Validierung unter verwaltetem SNI, der Überprüfung des Always Encrypted-Enclave-Attestationsschlüssels und einer konfigurierbaren Wiederholung bei der Registrierung eines prozessweiten Assembly-Auflösungshandlers.

Important

Ab 7.0.2 direkte Verweise auf Microsoft.Data.SqlClient, Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions und Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider ausrichten. Microsoft.Data.SqlClient.Internal.Logging transitiv auflösen lassen. Im .NET Framework änderten sich die Assemblyversionen von Extensions.Azure, Internal.Logging und 1.0.0.0 von 7.0.0.0 zu Extensions.Abstractions. Baue die Anwendung neu oder füge Bindungsumleitungen hinzu, wenn du diese Pakete aktualisierst.

6.1 LTS

Version 6.1.0 wurde im Juli 2025 veröffentlicht, wurde jedoch später wegen kritischer Regressionen aus dem Programm genommen. Version 6.1.1, veröffentlicht im August 2025, etablierte die unterstützte 6.1 LTS-Linie.

Merkmale und Änderungen

  • Native SQL Server 2025-Vektorübertragung über SqlVector<T>, zunächst für Gleitkommavektoren mit einfacher Genauigkeit.
  • Ein .NET Standard 2.0 Referenz-Asset zur Bibliothekskompatibilität. Dieses Asset ist keine Laufzeitimplementierung. Ausführbare Anwendungen müssen ein unterstütztes .NET- oder .NET Framework-Runtime-Asset verwenden.
  • Opt-in-Paketmultiplexing funktioniert für große asynchrone Lesungen und Endpunkt-Handhabung für SQL-Datenbanken in Microsoft Fabric.
  • Verbesserte native Unterstützung für Ahead-of-Time (AOT) Kompilierungen.
  • Reduzierte Zuweisungen in Verbindungs- und TDS-Verarbeitungspfaden.
  • Die internen Grundlagen für die öffentliche Erweiterbarkeit der Security Support Provider Interface (SSPI) wurden in Version 7.0 hinzugefügt.

Bereite Version 6.1.0 nicht aus. Version 6.1.1 hat die betroffenen Änderungen zur Paketerkennung und -wiederholung rückgängig gemacht.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
6.1.0 Juli 2025 Allgemein verfügbare Version. Dieses Paket wurde wegen kritischer Regressionen nicht mehr gelistet. Verwenden Sie es nicht.
6.1.1 August 2025 Änderungen aus Version 6.1.0 bezüglich der Erkennung, Korrektur und erneuten Übertragung von Teilpaketen rückgängig gemacht. Korrigierte Vektorreferenzassemblies und SqlVector<T>.Null.
6.1.2 Oktober 2025 Frühe Performance-Counter-Initialisierung, Ersatz benutzerdefinierter Authentifizierungsanbieter und Pool-Nebenläufigkeit wurden behoben, wodurch die Nutzung der konfigurierten maximalen Poolgröße verhindert wurde.
6.1.3 November 2025 Hinzugefügt IgnoreServerProvidedFailoverPartner für Basic Availability Groups und benutzerdefinierte Ports. Die zu frühe Initialisierung der EventSource-Metriken wurde behoben.
6.1.4 Januar 2026 EnableMultiSubnetFailoverByDefault wurde hinzugefügt. Batching-Fehler und negative aktive Verbindungszählungen in Poolmetriken behoben SqlDataAdapter .
6.1.5 April 2026 Unnötige Service Principal Name (SPN)- und Domain Name System (DNS)-Vorgänge für die nicht integrierte Authentifizierung entfernt, ExecuteScalar so geändert, dass nach den Daten zurückgegebene Serverfehler weitergegeben werden, und Vektormetadatentypen korrigiert.
6.1.6 Juni 2026 Optionale Brokerunterstützung für den Windows Web Account Manager (WAM) hinzugefügt, die Verarbeitung von TDS-Token gehärtet, Fehler bei zwischengespeicherten Signaturen von Spaltenhauptschlüsseln behoben und die GetChars-Argumentvalidierung korrigiert.
6.1.7 September 2026 SNI auf 6.0.3 aktualisiert. Behobene ServerCertificate-Validierung bei verwaltetem SNI, Überprüfung des Always Encrypted Enclave Attestierungsschlüssels, AccessTokenCallback-Verbindungswiederholungsverhalten und konfigurierbare Wiederholungsregistrierung eines prozessweiten Assembly-Auflösungshandlers.

Frühere Veröffentlichungslinien

Die folgenden Release-Linien werden nicht mehr unterstützt. Nutze deren Zusammenfassungen, wenn du ein Upgrade über mehrere Treiberversionen hinweg planst.

6.0

Version 6.0 erreichte im Januar 2025 die allgemeine Verfügbarkeit. Der letzte Patch war 6.0.5 und wurde im Januar 2026 veröffentlicht.

  • Native SQL Server-JSON-Unterstützung wurde durch Microsoft.Data.SqlTypes.SqlJson hinzugefügt, einschließlich Lese-, Schreib-, Streaming- und Bulk-Copy-Pfaden.
  • Öffentliche, streng typisierte Diagnosedaten für Befehls-, Verbindungs- und Transaktionsereignisse wurden hinzugefügt.
  • Hinzugefügt wurde OpenAsync(SqlConnectionOverrides, CancellationToken), einschließlich OpenWithoutRetry.
  • Unterstützung für TimeOnly und DataTable in SqlDataRecord- und DateOnly-strukturierten Parametern hinzugefügt.
  • .NET 9-Unterstützung hinzugefügt.
  • .NET Standard und .NET 6 Laufzeit-Assets fallen gelassen. Unterstützte Zielplattformen sind nun .NET Framework 4.6.2 und spätere Versionen sowie .NET 8 und spätere Versionen.
  • Beschränkt EnableOptimizedParameterBinding auf Textbefehle.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
6.0.0 Januar 2025 Allgemein verfügbare Version. Dieses Paket ist auf NuGet nicht gelistet, und die Upstream-Notizen dokumentieren keinen Grund.
6.0.1 Januar 2025 Korrigierte SqlClientDiagnostic Referenz-APIs, niedrigstufige TLS-Warnungen und Abhängigkeiten.
6.0.2 der April 2025 Fehlerbehebungen für mögliche Nullfehler beim Socket-Empfang, Referenz-APIs für SqlJson, JSON-Ausgabeparameter und Abhängigkeiten.
6.0.3 Oktober 2025 Die Ersetzung benutzerdefinierter Authentifizierungsanbieter wurde verhindert und die Pool-Parallelität, die Max Pool Size zu wenig nutzte, wurde behoben.
6.0.4 November 2025 Hinzugefügt Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner für Basic Availability Groups, die benutzerdefinierte TCP-Ports verwenden.
6.0.5 Januar 2026 Die SqlDataAdapter-Batch-RPC-Nullbehandlung behoben, Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault hinzugefügt und die Abhängigkeiten aktualisiert.

5,2

Version 5.2 erreichte im Februar 2024 die allgemeine Verfügbarkeit. Der letzte Patch war 5.2.3 und wurde im April 2025 veröffentlicht.

  • SqlConnection.AccessTokenCallback für asynchronen, pool-kompatiblen Tokenabruf hinzugefügt.
  • Hinzugefügt SqlBatch und SqlBatchCommand in .NET 6 und höheren Versionen.
  • Unterstützung für .NET Standard hinzugefügtSqlDiagnosticListener.
  • 64-Bit-SqlBulkCopy.RowsCopied64 hinzugefügt. Die ältere RowsCopied Eigenschaft bleibt eine 32-Bit-Ganzzahl.
  • Active Directory Workload Identity-Authentifizierung hinzugefügt.
  • .NET 8 und Big-Endian-Plattformunterstützung hinzugefügt.
  • UseOneSecFloorInTimeoutCalculationDuringLogin wurde standardmäßig auf true festgelegt.
  • Verwendet NegotiateAuthentication für verwaltetes SSPI unter .NET 7 und neueren Versionen.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
5.2.0 Februar 2024 Allgemein verfügbare Version.
5.2.1 Mai 2024 Behoben: Verbindungen zu Linux-Instanzen mit Namen und Ports, FireInfoMessageEventOnUserErrors, tabellenwertige Parameter für datetimeoffset(n), verzögerte OpenAsync und die Beibehaltung von AccessTokenCallback durch SqlConnection.Clone().
5.2.2 August 2024 Feste Token-Timeouts, verwaltete SNI-Socket-Verbindungen, Assembler-Targeting, SSPI-Wiederholungen, benutzerdefinierte Typlesungen und verschlüsselte Lesedaten. Aktualisierte Identitätspakete für CVE-2024-35255.
5.2.3 der April 2025 Mögliche Null-Fehler beim Socket-Empfang sowie Inkonsistenzen bei Referenz-Assemblies behoben, negative Nummern für transiente Fehler zugelassen und Abhängigkeiten aktualisiert.

5.1

Version 5.1 erreichte im Januar 2023 die allgemeine Verfügbarkeit. Der letzte Patch war 5.1.9 und wurde im Januar 2026 veröffentlicht.

  • .NET 6-Unterstützung wurde hinzugefügt und .NET Core 3.1 gestrichen.
  • Unterstützung für DateOnly und TimeOnly für Parameterwerte und GetFieldValue hinzugefügt.
  • Unterstützung für TLS 1.3 in .NET sowie in nativen Pfaden der SQL Server Network Interface (SNI) hinzugefügt.
  • Hinzugefügt ServerCertificate für eine exakte Zertifikatsübereinstimmung mit Encrypt=Mandatory und Encrypt=Strict.
  • Windows ARM64-Unterstützung für das .NET Framework hinzugefügt.
  • Der SqlConnectionEncryptOption String-Parser wurde öffentlich gemacht.
  • Version 5.1.3 korrigierte den CVE-2024-0056-Verschlüsselungs-Downgrade-Pfad und die Zertifikatskette-Validierung.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
5.1.0 January 2023 Allgemein verfügbare Version.
5.1.1 März 2023 Fehler bei der Fehlerberichterstattung von Always Encrypted, bei Transaktionen im Umleitungsmodus, bei der Token-Drosselung, bei TDS-RPC-Fehlern bei großen Abfragen und bei der GetBytesAsync-Nullverarbeitung behoben.
5.1.2 Oktober 2023 Fehlerbehebungen bei SQL Express-Benutzerinstanzen, Wiederholungsversuchen bei Enklaven, LocalDB, Werten des Verbindungszeichenfolgen-Generators, SqlConnectionEncryptOption-Konfigurationsumwandlung und OpenAsync-vorübergehenden Fehlern.
5.1.3 Januar 2024 CVE-2024-0056 und die Zertifikatskettenvalidierung behoben.
5.1.4 Januar 2024 Ein .NET-Deadlock bei verteilten Transaktionen wurde behoben und Azure.Identity wegen CVE-2023-36414 aktualisiert.
5.1.5 Januar 2024 Fehler bei der Bereinigung von Transaktionen vor dem Pooling sowie bei der Konvertierung von Datum und Uhrzeit mit Always Encrypted wurden behoben. Aktualisierte IdentityModel-Abhängigkeiten für CVE-2024-21319.
5.1.6 August 2024 Fehler bei OpenAsync, Authentifizierungs-Timeouts und ausstehenden Daten bei verschlüsselten Lesegeräten behoben. Aktualisierte Identitätsabhängigkeiten für CVE-2024-35255 und zwischengespeicherte TokenCredential Instanzen.
5.1.7 der April 2025 Einen möglichen Nullausfall beim Socket-Empfang behoben, Quell- und Referenzassemblierungen ausgerichtet und Abhängigkeiten aktualisiert.
5.1.8 November 2025 Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner hinzugefügt, die Behandlung der UTF-8-Byte-Order-Marke bei Massenkopiervorgängen korrigiert, die MSAL-Erstellung modernisiert und die Abhängigkeiten aktualisiert.
5.1.9 Januar 2026 Environment.TickCount Timing wurde nach SqlStatistics verschoben und frameworkspezifische Abhängigkeiten wurden aktualisiert.

5.0

Version 5.0 erreichte im August 2022 die allgemeine Verfügbarkeit. Der letzte Patch war 5.0.2 und wurde im März 2023 veröffentlicht.

  • TDS 8.0 bis Encrypt=Strict hinzugefügt. Der Strict-Modus startet TLS vor dem TDS-Login-Austausch und validiert immer das Serverzertifikat.
  • Wechselte SqlConnectionStringBuilder.Encrypt von bool zu SqlConnectionEncryptOption.
  • SQL Server Common Language Runtime (CLR)-Typen wurden auf das separat versionierte Microsoft.SqlServer.Server Paket verschoben.
  • Server SPN und Failover Server SPN Verbindungsoptionen hinzugefügt.
  • Ich habe Windows SQL Server Alias-Unterstützung bei der aktuellen .NET hinzugefügt.
  • Hinzugefügt SqlDataSourceEnumerator auf Windows.
  • .NET Framework 4.6.1 habe ich fallen gelassen.

Important

Die Typänderung SqlConnectionStringBuilder.Encrypt ist binär inkompatibel. Typen, die aus Microsoft.Data.SqlClient.Server entfernt wurden, erfordern ebenfalls Änderungen am Quellcode, um Microsoft.SqlServer.Server verwenden zu können. Kompiliere Anwendungen und Bibliotheken neu, aktualisiere Namensräume und prüfe auf Namensraumkonflikte, wenn System.Data.SqlClient weiterhin referenziert wird.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
5.0.0 August 2022 Allgemein verfügbare Version.
5.0.1 Oktober 2022 HostNameInCertificate unter .NET Framework wiederhergestellt und Attention-Deadlocks, SqlConnectionStringBuilder.Encrypt, die Registrierung von Abbrüchen, Hänger bei verwaltetem SNI, UTF-8-Kollation sowie einen Absturz einer SNI-Anwendungsdomäne behoben.
5.0.2 März 2023 Behoben wurden ein Speicherleck bei asynchronen Lesevorgängen, Fehler im Umleitungsmodus TransactionScope, Always Encrypted-Fehler, TDS-RPC-Fehler bei großen Abfragen und Deadlocks bei verteilten Transaktionen.

4.1

Version 4.1 erreichte im Januar 2022 die allgemeine Verfügbarkeit. Der letzte Patch war 4.1.1 und wurde im September 2022 veröffentlicht.

  • Attestation Protocol=None für virtualisierungsbasierte Sicherheits-(VBS)-Enklaven hinzugefügt.
  • Parallelisierte Anforderungen an das SQL Server Resolution Protocol unter Linux und macOS, wenn MultiSubnetFailover aktiviert ist.
  • Fehler bei der Prüfung von Zertifikatswiderrufslisten während der Authentifizierung behoben.
  • Die Microsoft Entra-Authentifizierung, NULLSqlBinary- und rowversion-Werte sowie das Verhalten der UTF-8-Sortierung wurden korrigiert.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
4.1.0 Januar 2022 Allgemeine Verfügbarkeitsfreigabe.
4.1.1 September 2022 Fehler bei Zertifikatswiderrufslisten behoben, SQL Server Resolution Protocol-Anfragen für MultiSubnetFailoverparallelisiert und Fehler bei Microsoft Entra-Authentifizierung, Rowversion, UTF-8 und SNI Anwendungsdomänenfehler korrigiert.

4,0

Version 4.0 erreichte im November 2021 die allgemeine Verfügbarkeit. Der letzte Patch war 4.0.6 und wurde im August 2024 veröffentlicht.

  • Der Standardwert von Encrypt wurde von false in true geändert.
  • SqlCommand.EnableOptimizedParameterBinding für Befehle mit vielen Parametern hinzugefügt.
  • SqlFileStream für Windows durch die Implementierung von .NET Standard hinzugefügt.
  • Unterstützung für gemeinsame LocalDB-Instanzen im verwalteten SNI hinzugefügt.
  • Hinzugefügt GetFieldValue<T> und GetFieldValueAsync<T> für XmlReader, TextReader, und Stream.
  • Den Sicherheitsschalter aus der konfigurierbaren Wiederholungslogik entfernt. Retry blieb deaktiviert, bis eine Anwendung einen Anbieter konfigurierte.
  • Microsoft Entra-Authentifizierungsfehler wurden so geändert, dass statt AggregateExceptionSqlException ausgelöst wird.
  • .NET Core 2.1 habe ich fallen gelassen.
  • Version 4.0.5 behob den mit CVE-2024-0056 verbundenen Downgrade-Pfad bei der Verschlüsselung sowie die Validierung der Zertifikatskette.

Important

Da die Verschlüsselung in Version 4.0 und späteren Versionen standardmäßig auf true eingestellt ist, kann ein Upgrade Probleme mit dem Zertifikatsvertrauen oder Abweichungen beim Servernamen sichtbar machen. Deaktiviere die Verschlüsselung nicht, um diese Fehler zu umgehen. Installieren Sie ein vertrauenswürdiges Serverzertifikat oder konfigurieren Sie die Zertifikatsvalidierung für die Bereitstellung.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
4.0.0 November 2021 Allgemein verfügbare Version.
4.0.1 Januar 2022 Hinzugefügt wurde SuppressInsecureTLSWarning, und behoben wurden Probleme mit .NET 6 Kerberos, LocalDB-Pipe-Namen und konkurrierenden Enklavenabfragen.
4.0.2 September 2022 Fehler bei Zertifikatswiderrufslisten behoben, SQL Server Resolution Protocol-Anfragen für MultiSubnetFailoverparallelisiert und Fehler bei Microsoft Entra-Authentifizierung, Rowversion, UTF-8 und SNI Anwendungsdomänenfehler korrigiert.
4.0.3 April 2023 Reduzierung der Drosselung zwischengespeicherter Kontotoken und Behebung von TDS-RPC-Fehlern bei großen Abfragen.
4.0.4 Oktober 2023 Probleme mit asynchronen Wiederholungsversuchen für Enklaven, LocalDB und verwalteten SNI-Fallbacks, Dateiversionen sowie der Korrelation von Verbindungsaktivitäten wurden behoben.
4.0.5 Januar 2024 CVE-2024-0056 und die Zertifikatskettenvalidierung behoben.
4.0.6 August 2024 Bereinigung von Transaktionsereignissen vor dem Pooling sowie ActiveDirectoryAuthenticationProvider.AcquireTokenAsync-Timeout-Behandlung korrigiert.

3.1

Version 3.1 erreichte im März 2022 die allgemeine Verfügbarkeit. Der letzte Patch war 3.1.7 und wurde im August 2024 veröffentlicht.

  • Hinzugefügt Attestation Protocol=None für VBS-Enklaven.
  • SQL-Fehler 42108 und 42109 wurden zur Standard-Liste der transienten Fehler hinzugefügt.
  • Windows ARM64-Unterstützung für das .NET Framework wurde in 3.1.2 hinzugefügt.
  • In 3.1.3 wurden wiederholte Microsoft Entra-Token-Anfragen durch den Erwerb stiller Token reduziert.
  • Der CVE-2024-0056-Verschlüsselungs-Downgrade-Pfad wurde in 3.1.5 behoben.
  • Bereinigung von Transaktionen vor dem Pooling und Behandlung von Timeouts bei Microsoft Entra-Token in 3.1.7 behoben.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
3.1.0 März 2022 Allgemein verfügbare Version.
3.1.1 August 2022 Nullwerte bei SqlBinary, .NET-6-Kerberos-Fehler und Nullverweisfehler bei der Microsoft Entra-Authentifizierung wurden behoben.
3.1.2 Februar 2023 Unterstützung für .NET Framework unter Windows ARM64 wurde hinzugefügt sowie Probleme mit der Thread-Sicherheit der Retryliste, Deadlocks bei verteilten Transaktionen, der UTF-8-Sortierung und der Validierung gespeicherter Prozeduren behoben.
3.1.3 März 2023 Microsoft Entra-Token-Drosselung mit AcquireTokenSilent reduziert und TDS-RPC-Fehler bei großen Abfragen behoben.
3.1.4 Oktober 2023 Es wurden asynchrone Wiederholungen für Enklaven, LocalDB und der Fallback für verwaltetes SNI, Dateiversionen, die Korrelation von Verbindungsaktivitäten sowie die EventSource-Formatierung behoben.
3.1.5 Januar 2024 CVE-2024-0056 und die Zertifikatskettenvalidierung behoben.
3.1.6 August 2024 Dieses Paket war nicht ordnungsgemäß signiert und nicht gelistet. Es existiert keine Upstream-Release-Note-Datei. Benutze stattdessen 3.1.7.
3.1.7 August 2024 Die Bereinigung von Transaktionsereignissen vor dem Pooling, Authentifizierungszeitüberschreitungen, das Signieren von Assemblies und ein Anwendungsdomänenabsturz in SNI wurden behoben.

3.0

Version 3.0 erreichte im Juni 2021 die allgemeine Verfügbarkeit. Der letzte Patch war 3.0.1 und wurde im September 2021 veröffentlicht.

  • Konfigurierbare Wiederholungslogik für Verbindungs- und Befehlsoperationen hinzugefügt. In Version 3.0 musste es weiterhin über Switch.Microsoft.Data.SqlClient.EnableRetryLogic aktiviert werden.
  • EventCounters für Verbindung und Pool-Aktivitäten wurden hinzugefügt.
  • Azure.IdentityAuthentifizierung über Active Directory Default hinzugefügt.
  • Verbindungsbezogene und befehlsbezogene Registrierung des Always Encrypted Keystore-Anbieters wurden hinzugefügt.
  • Die Präferenz für die TCP-IP-Adresse wurde hinzugefügt.
  • Die Authentifizierung mit benutzerseitig zugewiesener verwalteter Identität wurde in User Id so geändert, dass anstelle der Objekt-ID die Client-ID verwendet wird.
  • SQL-Rowversion-Nullwerte wurden so geändert, dass sie statt eines leeren Byte-Arrays zurückgegeben DBNull werden. Ein AppContext-Switch bewahrte das ältere Verhalten.
  • Das Mindestziel für das .NET Framework wurde von 4.6 auf 4.6.1 erhöht.

Ab Version 3.0 haben Anbieter von Systemschlüsselspeichern Vorrang vor Anbietern, die für eine Verbindung oder einen Befehl registriert sind. Einen benutzerdefinierten Anbieter umbenennen, wenn sein Name mit dem eines integrierten Anbieters kollidiert.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
3.0.0 Juni 2021 Allgemein verfügbare Version.
3.0.1 September 2021 Es wurden blockierende Öffnungen von Microsoft Entra-Verbindungen, der Status der Transaktionsheraufstufung, die erforderliche Verschlüsselung, die Wiederholungsrekursion und Deadlocks sowie unbrauchbare Verbindungen behoben.

2.1

Version 2.1 erreichte im November 2020 die allgemeine Verfügbarkeit. Der letzte Patch war 2.1.7 und wurde im Januar 2024 veröffentlicht.

  • Erweitert Always Encrypted auf unterstützte .NET Standard 2.0 Plattformen.
  • Unterstützung für Secure Enclaves unter Unix für .NET Core sowie plattformübergreifend für .NET Standard 2.1 hinzugefügt.
  • Active Directory Device Code Flow und die Authentifizierung mit verwalteter Identität wurden hinzugefügt.
  • Anpassungshaken für interaktive und Gerätecode-Authentifizierung wurden hinzugefügt.
  • Sensitivitätsklassifikations-Rang-Metadaten hinzugefügt.
  • SqlConnection.ServerProcessId wurde hinzugefügt.
  • Command Timeout Die Verbindungsoption wurde als Standard für Befehle hinzugefügt, die durch eine Verbindung erstellt werden.
  • Version 2.1.7 korrigierte den Downgrade-Pfad der CVE-2024-0056-Verschlüsselung.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
2.1.0 November 2020 Allgemein verfügbare Version.
2.1.1 Dezember 2020 Feste systemzugewiesene verwaltete Identität in Azure Functions, Unix Kerberos und TCP Keep-alive.
2.1.2 März 2021 Unix-benannte Instanzen, fehlerhafte Timeout-Ergebnisse, unsichere DTD-Verarbeitung, Kerberos-SPNs, fehlende Caching-Abhängigkeiten, Tracing und MARS-Header wurden behoben.
2.1.3 Mai 2021 Datenkorruption bei Transaktionen mit offenen Ergebnissätzen verhindert und eine SinglePhaseCommit- und TransactionEnded-Race-Condition behoben.
2.1.4 September 2021 Es wurde sichergestellt, dass Verbindungen fehlschlagen, wenn Verschlüsselung erforderlich ist, und ein Problem behoben, durch das Verbindungen in einen unbrauchbaren Zustand gerieten.
2.1.5 August 2022 Längenvalidierung für gespeicherte Prozeduren CommandText hinzugefügt und .NET 6-Kerberos-Authentifizierung sowie SqlTypeWorkarounds behoben.
2.1.6 April 2023 Fehler bei TDS-RPCs für große Abfragen in SqlCommand.ExecuteReaderAsync, Konflikte mit der Standard-UTF-8-Kollation und Deadlocks beim Senden von Attention-Signalen wurden behoben.
2.1.7 Januar 2024 CVE-2024-0056 und die Zertifikatskettenvalidierung behoben.

2.0

Version 2.0 erreichte im Juni 2020 die allgemeine Verfügbarkeit. Der letzte Patch war 2.0.1 und wurde im August 2020 veröffentlicht.

  • Active Directory Integrated und Active Directory Interactive-Authentifizierung für .NET Core und .NET Standard hinzugefügt.
  • Authentifizierung Active Directory Service Principal hinzugefügt.
  • Microsoft.Data.SqlClient.EventSource Ablaufverfolgung hinzugefügt.
  • Plattformübergreifendes TCP-Keep-alive und eine opt-in verwaltete Netzwerkimplementierung auf Windows für Tests und Debugging hinzugefügt. Der verwaltete Pfad unterstützte keine Windows-Authentifizierung außerhalb der Domäne.
  • SqlBulkCopy.RowsCopied hinzugefügt und Hinweise zum Massenkopieren geordnet.
  • SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry) wurde hinzugefügt.
  • Windows-ARM-Unterstützung wurde durch die Abhängigkeit Microsoft.Data.SqlClient.SNI.runtime hinzugefügt.
  • Begann mit der Überprüfung des Serverzertifikats, wenn ein Server Verschlüsselung erzwingt, auch wenn die Verbindungszeichenfolge Encrypt=false festlegt. Verbindungen können nach diesem Upgrade ausfallen, wenn das Zertifikat nicht vertrauenswürdig ist oder der Name nicht mit dem Server übereinstimmt.
  • Die Behandlung der Dezimalskalierung von Parametern wurde so geändert, dass eine mit SQL Server kompatible Rundung verwendet wird.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
2.0.0 Juni 2020 Allgemein verfügbare Version.
2.0.1 August 2020 Eine koexistenzfreundliche Authentifizierungskonfiguration wurde hinzugefügt und der Ablauf gepoolter Token, die Behandlung vorübergehender Fehler, Enclave-Caching und native SNI-Preloginfehler wurden behoben.

1.1

Version 1.1 erreichte im November 2019 die allgemeine Verfügbarkeit. Der letzte Patch war 1.1.4 und wurde im März 2021 veröffentlicht.

  • Always Encrypted mit sicheren Enklaven auf unterstützten .NET Framework- und .NET Core-Zielen hinzugefügt.
  • |DataDirectory|-Unterstützung in AttachDBFilename in .NET Core hinzugefügt.
  • Verbesserte asynchrone Lesevorgänge mit Zwischenspeicherung im Zielpuffer für mehrere Pakete.
  • Der Snapshot-Overhead in TdsParserStateObject und SqlDataReader wurde reduziert.
  • Behebung von Timeout-State- und Multiple Active Result Sets (MARS)-Headerfehlern in späteren Patches.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
1.1.0 November 2019 Allgemein verfügbare Version.
1.1.1 Februar 2020 Asynchrone SNIPacket Änderungen, die Deadlocks verursachten, rückgängig gemacht und den SNI-Abhängigkeitsbereich korrigiert.
1.1.2 April 2020 Benutzernamen für die interaktive Active Directory-Authentifizierung wurden hinzugefügt sowie Probleme mit der Persistenz von Passwörtern und MARS-TDS-Headern behoben.
1.1.3 Mai 2020 Verhinderte, dass abgebrochene Transaktionen gepoolte Verbindungen einbinden, und machte die regressionsverursachende Korrektur des MARS-Headers rückgängig.
1.1.4 März 2021 Falsche Ergebnisse im Timeoutzustand und MARS-Headerfehler bei .NET Framework 4.8 und höheren Versionen wurden behoben.

1.0

Microsoft. Data.SqlClient 1.0 erreichte im August 2019 die allgemeine Verfügbarkeit. Der letzte Patch war 1.0.19269.1 und wurde im September 2019 veröffentlicht.

  • Stellte den separat ausgelieferten Microsoft.Data.SqlClient-Anbieter vor.
  • Unterstützte .NET Framework 4.6 und spätere Versionen, .NET Core 2.1 und spätere Versionen sowie .NET Standard 2.0.
  • Active Directory InteractiveAuthentifizierung wurde im .NET Framework hinzugefügt.
  • Active Directory Password-Authentifizierung für .NET Core hinzugefügt.
  • Metadaten zur Klassifizierung der Datensensitivität auf SqlDataReader hinzugefügt.
  • SQL Server 2019 UTF-8 Kollierungsunterstützung hinzugefügt.
  • Unterstützung für Always Encrypted unter .NET Core hinzugefügt.

Veröffentlichungen

Version Freigegeben Kundenrelevante Änderungen
1.0.19239.1 August 2019 Allgemein verfügbare Version. Behoben wurden Probleme bei der Wiederverwendung von Verbindungen nach Transaktionsfehlern, der Veröffentlichung von SNI, der globalisierungsinvarianten Behandlung und der Bulk-Copy-Nullwerterweiterung.
1.0.19249.1 September 2019 Ein Problem beim Lesen großer Multipaket-Datenmengen unter Unix wurde behoben.
1.0.19269.1 September 2019 Stellte SqlCommand.StatementCompleted wieder her, fügte das fehlende SqlConnectionStringBuilder.Authentication hinzu und machte eine inkompatible Änderung an der SqlAuthenticationParameters.Resource-API rückgängig.

Für eine Anwendung, die vom älteren Anbieter migriert wird, verwenden Sie Migrate from System.Data.SqlClient to Microsoft.Data.SqlClient, anstatt sich allein auf die Release Notes zu verlassen.

Optionale Paket-Veröffentlichungshinweise

Optionale Pakete haben eigene Release-Notes. Ab Version 7.0.2 liefern sie die Version aus, die an den Kerntreiber angepasst ist.

Package Versionshinweise
Microsoft.Data.SqlClient.Extensions.Azure Azure Extension Release Notes
Microsoft.Data.SqlClient.Extensions.Abstractions Veröffentlichungshinweise zu Erweiterungsabstraktionen
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider Azure Key Vault Provider – Versionshinweise

Referenziere Microsoft.Data.SqlClient.Internal.Logging nicht direkt. Es handelt sich um eine interne Abhängigkeit, die von Treiberpaketen geteilt wird.

Bewerten Sie ein Update

  1. Identifizieren Sie jeden Treiber und jede optionale Paketversion, die direkt oder transitiv verwendet werden.
  2. Lesen Sie die Release Notes für jede kleine und große Version, die durch das Update überschritten wurde.
  3. Überprüfen Sie den Supportlebenszyklus des SqlClient-Treibers hinsichtlich der Kompatibilität mit dem Zielframework und der Datenbank.
  4. Aktualisieren Sie alle zugehörigen Pakete auf kompatible Versionen.
  5. Erstellen und testen Sie die Authentifizierung, Verschlüsselung, Verbindungspooling, Parameter, Transaktionen, Wiederholungsversuche, Diagnosefunktionen und Bereitstellungsausgabe der Anwendung.

Für Installations- und Bereitstellungsbefehle siehe Installieren, aktualisieren und deployen Microsoft. Data.SqlClient.