Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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, undWorkstationId. - SQL-Graph-Pseudo-Spaltenabbildungen für
$node_id,$edge_id, ,$from_idund$to_idinSqlBulkCopy. - 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.Azureverschoben. Fügen Sie das Erweiterungspaket hinzu, wenn Sie einenActive DirectoryAuthentifizierungsmodus verwenden. - Das Core-Paket hängt nicht mehr von
Azure.Identity,Azure.Coreoder der Microsoft Authentication Library (MSAL) (MSAL) ab. -
SqlConnection.SspiContextProviderunterstü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.BaselineTransientErrorsmacht die Standardliste transienter Fehler des Treibers verfügbar. -
Active Directory PasswordDie 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.SqlJsonhinzugefü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ßlichOpenWithoutRetry. - Unterstützung für
TimeOnlyundDataTableinSqlDataRecord- undDateOnly-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
EnableOptimizedParameterBindingauf 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.AccessTokenCallbackfür asynchronen, pool-kompatiblen Tokenabruf hinzugefügt. - Hinzugefügt
SqlBatchundSqlBatchCommandin .NET 6 und höheren Versionen. - Unterstützung für .NET Standard hinzugefügt
SqlDiagnosticListener. - 64-Bit-
SqlBulkCopy.RowsCopied64hinzugefügt. Die ältereRowsCopiedEigenschaft bleibt eine 32-Bit-Ganzzahl. -
Active Directory Workload Identity-Authentifizierung hinzugefügt. - .NET 8 und Big-Endian-Plattformunterstützung hinzugefügt.
-
UseOneSecFloorInTimeoutCalculationDuringLoginwurde standardmäßig auftruefestgelegt. - Verwendet
NegotiateAuthenticationfü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
DateOnlyundTimeOnlyfür Parameterwerte undGetFieldValuehinzugefügt. - Unterstützung für TLS 1.3 in .NET sowie in nativen Pfaden der SQL Server Network Interface (SNI) hinzugefügt.
- Hinzugefügt
ServerCertificatefür eine exakte Zertifikatsübereinstimmung mitEncrypt=MandatoryundEncrypt=Strict. - Windows ARM64-Unterstützung für das .NET Framework hinzugefügt.
- Der
SqlConnectionEncryptOptionString-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=Stricthinzugefügt. Der Strict-Modus startet TLS vor dem TDS-Login-Austausch und validiert immer das Serverzertifikat. - Wechselte
SqlConnectionStringBuilder.EncryptvonboolzuSqlConnectionEncryptOption. - SQL Server Common Language Runtime (CLR)-Typen wurden auf das separat versionierte
Microsoft.SqlServer.ServerPaket verschoben. -
Server SPNundFailover Server SPNVerbindungsoptionen hinzugefügt. - Ich habe Windows SQL Server Alias-Unterstützung bei der aktuellen .NET hinzugefügt.
- Hinzugefügt
SqlDataSourceEnumeratorauf 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=Nonefür virtualisierungsbasierte Sicherheits-(VBS)-Enklaven hinzugefügt. - Parallelisierte Anforderungen an das SQL Server Resolution Protocol unter Linux und macOS, wenn
MultiSubnetFailoveraktiviert ist. - Fehler bei der Prüfung von Zertifikatswiderrufslisten während der Authentifizierung behoben.
- Die Microsoft Entra-Authentifizierung, NULL
SqlBinary- 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
Encryptwurde vonfalseintruegeändert. -
SqlCommand.EnableOptimizedParameterBindingfür Befehle mit vielen Parametern hinzugefügt. -
SqlFileStreamfü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>undGetFieldValueAsync<T>fürXmlReader,TextReader, undStream. - 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
AggregateExceptionSqlExceptionausgelö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=Nonefü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.EnableRetryLogicaktiviert werden. - EventCounters für Verbindung und Pool-Aktivitäten wurden hinzugefügt.
-
Azure.IdentityAuthentifizierung überActive Directory Defaulthinzugefü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 Idso 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
DBNullwerden. 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 Flowund 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.ServerProcessIdwurde hinzugefügt. -
Command TimeoutDie 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 IntegratedundActive Directory Interactive-Authentifizierung für .NET Core und .NET Standard hinzugefügt. - Authentifizierung
Active Directory Service Principalhinzugefügt. -
Microsoft.Data.SqlClient.EventSourceAblaufverfolgung 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.RowsCopiedhinzugefü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.runtimehinzugefügt. - Begann mit der Überprüfung des Serverzertifikats, wenn ein Server Verschlüsselung erzwingt, auch wenn die Verbindungszeichenfolge
Encrypt=falsefestlegt. 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 inAttachDBFilenamein .NET Core hinzugefügt. - Verbesserte asynchrone Lesevorgänge mit Zwischenspeicherung im Zielpuffer für mehrere Pakete.
- Der Snapshot-Overhead in
TdsParserStateObjectundSqlDataReaderwurde 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
SqlDataReaderhinzugefü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
- Identifizieren Sie jeden Treiber und jede optionale Paketversion, die direkt oder transitiv verwendet werden.
- Lesen Sie die Release Notes für jede kleine und große Version, die durch das Update überschritten wurde.
- Überprüfen Sie den Supportlebenszyklus des SqlClient-Treibers hinsichtlich der Kompatibilität mit dem Zielframework und der Datenbank.
- Aktualisieren Sie alle zugehörigen Pakete auf kompatible Versionen.
- 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.