Vad är nytt i Microsoft. Data.SqlClient

Microsoft. Data.SqlClient levereras oberoende av .NET. Den här artikeln sammanfattar de betydande funktionerna, beteendeförändringarna och kompatibilitetsförändringarna i varje releaselinje. Releasetabellerna inkluderar varje stabil paketpublicering, inklusive varje hotfix och olistade paket. För varje fix- och beroendeuppdatering, se de kompletta versionsanteckningarna i SqlClient-arkivet.

Aktuella utgåvor

Utsläppslinje Senaste versionen Frisläppningsdatum Support
7.1 7.1.1 september 2026 Standardtidsunderstöd (STS)
7.0 7.0.3 september 2026 Standardtidsunderstöd (STS)
6.1 6.1.7 september 2026 Långsiktigt stöd (LTS)

Använd inte förhandsvisningar i produktion. Förhandsgransknings-API:er och beteende kan ändras innan allmän tillgänglighet (GA).

Utgivningstabeller och allmänna tillgänglighetssammanfattningar använder NuGet-publiceringsmånaden. Livscykelartikeln listar officiella releasedatum, som kan skilja sig åt. För supportfönster, se SqlClient-drivrutinens supportlivscykel.

Versionshistorik

Dessa utgåvor förändrade hur befintliga applikationer ansluter. De visas med de nyaste först. Kolla varje som är mellan din nuvarande version och den version du byter till.

Version Change Vad du bör göra
7,0 Microsoft Entra-autentisering flyttas till Microsoft.Data.SqlClient.Extensions.Azure. Lägg till tilläggspaketet när du använder autentiseringsläge služba Active Directory .
5,0 Encrypt=Strict har stöd för TDS 8.0. SqlConnectionStringBuilder.Encrypt ändras från bool till SqlConnectionEncryptOption. Kompilera om kod som använder SqlConnectionStringBuilder.Encrypt.
4.0 Encrypt har som standard true. Lita på servercertifikatet, eller ställ in TrustServerCertificate=true endast för utveckling.

Microsoft Entra-autentisering flyttas till ett tilläggspaket i 7.0

Från och med version 7.0 är kärnpaketet inte längre beroende av Azure.Core, Azure.Identity, eller MSAL. Autentiseringslägena služba Active Directory kräver Microsoft.Data.SqlClient.Extensions.Azure. Utan det paketet utlöser Open eller OpenAsync ett System.ArgumentException när servern begär Microsoft Entra-autentisering, med ett meddelande som:

Cannot find an authentication provider for 'ActiveDirectoryDefault'. Install the 'Microsoft.Data.SqlClient.Extensions.Azure' NuGet package (https://www.nuget.org/packages/Microsoft.Data.SqlClient.Extensions.Azure) to use Active Directory (Entra ID) authentication methods.

Undantaget är inte ett SqlException, så kod som bara fångar SqlException hanterar det inte. Från och med 7.0.2, använd samma version av grundpaketet och dess kompletterande paket. För installation, se Microsoft Entra-autentisering med Microsoft.Data.SqlClient.

Strikt kryptering och TDS 8.0 i 5.0

I version 5.0 lades Encrypt=Strict till, som använder TDS 8.0. Strikt läge startar TLS före TDS-inloggningsutbytet och validerar alltid servercertifikatet, så TrustServerCertificate inte har någon effekt. Strikt läge kräver SQL Server 2022 eller senare, Azure SQL Database eller Azure SQL Managed Instance. Samma utgåva ändrade SqlConnectionStringBuilder.Encrypt från bool till SqlConnectionEncryptOption. Den förändringen bryter binär kompatibilitet, så kompilera om applikationer och bibliotek som sätter egenskapen.

Encrypt är som standard true i 4.0

Från och med version 4.0 krypteras anslutningar som standard och servercertifikatet valideras. Före 4.0 var Encrypt inställt på false. Efter uppgraderingen misslyckas anslutningen till en server som visar ett självsignerat certifikat, eller ett certifikat vars namn inte matchar servernamnet i reťazec pripojenia, med ett fel i certifikatkedjan eller namnet. Installera ett certifikat som klienten litar på och anslut med namnet på certifikatet. Endast för utveckling kan du ställa in TrustServerCertificate=true. För detaljer, se Kryptering och certifikatvalidering i Microsoft.Data.SqlClient.

7.1 STS

Version 7.1 blev allmänt tillgänglig i september 2026. Det är den nuvarande STS-serien.

Funktioner och förändringar

  • SqlBatchstöd för .NET Framework.
  • Asynkrona SqlConnection.GetSchemaAsync överbelastningar.
  • Applikationsidentitetsrapportering via SqlConnection.RegisteredApplication och version 2 av TDS USERAGENT-payloaden. Ställ in egenskap innan du öppnar anslutningen. Värdet ingår inte i anslutningspoolnyckeln, så en återanvänd fysisk anslutning anger vilken applikation som ursprungligen skapade den. Applikationsidentitet är klientlevererad telemetri, inte en grund för auktorisation eller andra säkerhetsbeslut.
  • Anslutningssträngalias såsom ColumnEncryption, ConnectTimeout, FailoverPartner, , PacketSizeoch WorkstationId.
  • SQL Graph pseudokolumnmappningar för $node_id, $edge_id, , $from_idoch $to_id i SqlBulkCopy.
  • SQL Server-typen json i samlingen DataTypes returnerades av SqlConnection.GetSchema, även i Azure SQL.
  • Opt-in Connection Idle Timeout tillämpning via Switch.Microsoft.Data.SqlClient.UseLegacyIdleTimeoutBehavior=false. Standardtidsgränsen för inaktivitet är 300 sekunder; 0 inaktiverar tidsgränsen för inaktivitet. Standardpoolbeteendet är oförändrat.
  • Ett opt-in-anslutningstidsläge som inkluderar tid som spenderas på att vänta på en poolad anslutning via Switch.Microsoft.Data.SqlClient.UseOverallConnectTimeoutForPoolWait=true. Växeln är standardinställd på false.
  • Utökat transaktionsstöd, återställning av brutna anslutningar, pooluppvärmning, idle beskärning, återvinning av läckta anslutningar och diagnostik i anslutningspool V2. Poolen är fortfarande under utvärdering och kräver Switch.Microsoft.Data.SqlClient.UseConnectionPoolV2.
  • Asynkrona metoder för Always Encrypted-nyckellagerleverantörer. Drivrutinen anropar ännu inte dessa metoder under kommandoexekveringen, så de gör inte befintliga Always Encrypted operationer asynkrona.
  • Uppdaterade inbyggda SNI-paket till 7.1.0. Stödda applikationsmål är fortfarande .NET 8 och senare versioner samt .NET Framework 4.6.2 och senare versioner.

Kompatibilitetsförändringar

  • SqlConnectionStringBuilder.TransparentNetworkIPResolutionär föråldrad i .NET Framework. Använd MultiSubnetFailover i stället. Denna förändring lägger till en kompileringsvarning; den ändrar inte körbeteendet eller standardinställningen för något av alternativen.
  • SqlBatchCommand.CommandBehavior och de CommandBehavior som skickas till SqlBatch.ExecuteReader respekteras. Tidigare versioner ignorerade dessa inställningar.
  • Det föråldrade anslutningsalternativet Type System Version=SQL Server 2000 utlöser nu ArgumentException när du öppnar anslutningen. Använd ett värde som stöds såsom Latest.

Version 7.1 inkluderar även valideringsfixar för certifikat och enklav som ingick i 6.1.7 och 7.0.3. När du aktiverar certifikatvalidering på hanterad SNI ServerCertificate jämför den den konfigurerade certifikatfilen med certifikatet som servern presenterar. En ogiltig eller oläsbar fil gör att anslutningen misslyckas istället för att kringgå den konfigurerade certifikatkontrollen. Virtual Secure Mode (VSM) och Host Guardian Service (HGS) enklavattestering verifierar att enklavens publika nyckel är bunden till den signerade attestationsrapporten. Testa dessa sökvägar igen när du uppgraderar från en tidigare version utan dessa korrigeringar.

Viktiga korrigeringar

  • Åtgärdade poolade anslutningar som förblev trasiga efter en TransactionScope rollback, vilket kunde orsaka att ett senare BeginTransaction()-anrop misslyckades.
  • Åtgärdade IPv6-litterala servernamn över Named Pipes i hanterad SNI.
  • Åtgärdade stora decimal-parameteröverflöden med explicit precision och skala, DateOnly-parametrar och tabellvärdesparametrar med sql_variant, samt att strömmande kolumndata hoppades över efter IsDBNull().
  • Åtgärdade anslutningspoolräknare, onödig timeraktivitet för poolunderhåll och prestandaregressioner vid öppning/stängning av anslutningspool V2.
  • Fixerad konfigurerbar återförsökslogik som registrerar en permanent, processomfattande hanterare för assembly-upplösning på modern .NET. Anpassade retry-assemblies måste finnas i applikationsbaskatalogen; beroenden som laddas efter leverantörskonstruktion måste lösas genom normal applikationsberoendelösning eller en applikationslevererad hanterare.

Utgivningar

Version Släppt Kundrelevanta förändringar
7.1.1 september 2026 Åtgärdade ett ArgumentException för nollvärda decimal och SqlDecimal parametrar vars precision är lika med deras skala. Åtgärdade problem med öppning av fasta anslutningar som misslyckas när ClearPool eller ClearAllPools körs under en pågående öppning. Connection pool V2 kontrollerar nu åtkomsttokenens utgångstid innan den återanvänder en poolad anslutning, vilket matchar standardpoolen. Tokenfixen påverkar endast applikationer som väljer att använda anslutningspool V2.
7.1.0 september 2026 Allmänt tillgänglig version, inklusive de kumulativa förändringarna från förhandsvisningscykeln 7.1.

Important

Uppgradera direkt refererade kompletterande paket till 7.1.1 tillsammans med drivrutinen, inklusive Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions och Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider. Låt Microsoft.Data.SqlClient.Internal.Logging lösas transitivt. Justerade sammansättningar behåller AssemblyVersion 7.0.0.0, så att uppdatera från 7.0.2, 7.0.3 eller 7.1.0 kräver inte nya bindningsomdirigeringar för .NET Framework. När du uppdaterar från 7.0.0 eller 7.0.1, granska de engångsändringar i assemblerversionen som beskrivs i 7.0.2:s versionsanteckningar.

Azure Key Vault Provider 7.1.0-versionen implementerar de asynkrona metoderna för nyckellagringsleverantören och åtgärdar cachetillväxt och duplicerade nyckelklienter under samtidighet. Dessa asynkrona metoder gynnar direkta leverantörsanrop; drivrutinens kommandoexekveringsvägar använder fortfarande synkrona nyckeloperationer. Azure-tillägget och versionerna av extension abstractions samordnar versionerna utan publika API-ändringar.

De medföljande paketen levereras också som 7.1.1 utan funktionsändringar, så du kan uppdatera varje paket i familjen till samma version. För detaljer, se versionsinformationen för Azure Key Vault Provider 7.1.1, Azure extension 7.1.1 och extension abstractions 7.1.1.

För förhandsvisningshistorik, se versionsanteckningarna för förhandsvisning1, förhandsvisning2 och förhandsvisning3.

7.0 STS

Version 7.0 nådde allmän tillgänglighet i mars 2026. Det stöds fram till den 17 december 2026, tre månader efter 7.1-versionen.

Funktioner och förändringar

  • Drivrutinsbaserad Microsoft Entra-autentisering flyttades från kärnpaketet till Microsoft.Data.SqlClient.Extensions.Azure. Lägg till tilläggspaketet när du använder autentiseringsläge služba Active Directory .
  • Kärnpaketet är inte längre beroende av Azure.Core, Azure.Identity, eller Microsofts autentiseringsbibliotek (MSAL).
  • SqlConnection.SspiContextProvider stöder anpassad Kerberos- och NTLM-tokenförhandling. Leverantörsidentiteten är en del av anslutningspoolens nyckel.
  • Förbättrad routning för Azure SQL Hyperscale och namngivna läsrepliker förhandlas automatiskt.
  • Starkt typade kommando-, anslutnings- och transaktionsdiagnostikhändelser finns tillgängliga i aktuella versioner av .NET och .NET Framework.
  • SqlConfigurableRetryFactory.BaselineTransientErrors exponerar drivrutinens standardlista över tillfälliga fel.
  • služba Active Directory Password Autentisering är föråldrad. Använd interaktiv autentisering för användarapplikationer, autentisering av tjänsteprinciper för tjänster eller hanterad identitet för Azure-hostade arbetsbelastningar.
  • Target-stöd börjar vid .NET 8 och .NET Framework 4.6.2. Drivrutinen stöder också att bygga och köra på .NET 10.

Paketmultiplexering för asynkrona läsningar behåller förhandsvisningsfunktionen och är valfri i 7.0. Testa kompatibilitetsinställningar med produktionsarbetslaster och behåll en återställningsväg.

Utgivningar

Version Släppt Kundrelevanta förändringar
7.0.3 september 2026 Uppdaterade SNI till 6.0.3. Åtgärdade SqlBulkCopy metadataåtkomst, spårningsallokeringar, ServerCertificate validering på hanterad SNI, verifiering av Always Encrypted enclave-attestationsnyckeln, AccessTokenCallback TNIR-standardinställningar på .NET Framework, autentiseringstillståndsbevarande och konfigurerbar assembliesökvägsupplösning för återförsök. Motstridiga SSPI- och tokenautentiseringsinställningar ger nu InvalidOperationException. Det anpassade Azure-tillägget fixar Entra-auktoritetsparsning för Dataverse- och Dynamics 365-anslutningar.
7.0.2 Juni 2026 Samordnade kärndrivrutinen och tillhörande paket, förstärkte tolkningen av TDS-token, korrigerade hanteringen av cachen för signaturverifiering i Always Encrypted och åtgärdade fel i anrop för annullering och nullbuffert GetBytes och GetChars.
7.0.1 april 2026 Åtgärdade SqlBulkCopy metadatafrågor för SQL Server 2016 och dedikerade SQL-pooler i Azure Synapse Analytics, korrigerade metadata för vektorfält, lade till det saknade .NET Framework-beroendet System.Data.Common och lade till vidarebefordran av typer för autentiseringsabstraktioner.
7.0.0 Mars 2026 Version med allmän tillgänglighet

Important

Från och med 7.0.2, justera direkta referenser till Microsoft.Data.SqlClient, Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions, och Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider. Låt Microsoft.Data.SqlClient.Internal.Logging lösas transitivt. I .NET Framework ändrades sammansättningsversionerna för 1.0.0.0, Extensions.Azure och Extensions.Abstractions från Internal.Logging till 7.0.0.0. Bygg om applikationen eller lägg till bindningsomdirigeringar när du uppdaterar dessa paket.

6.1 LTS

Version 6.1.0 släpptes i juli 2025, men togs senare bort på grund av kritiska regressioner. Version 6.1.1, som släpptes i augusti 2025, etablerade den stödda 6.1 LTS-serien.

Funktioner och förändringar

  • Inbyggd SQL Server 2025 vektortransport genom SqlVector<T>, initialt för enkelprecisions flyttalsvektorer.
  • En .NET Standard 2.0-referensresurs för bibliotekskompatibilitet. Denna tillgång är inte en körtidsimplementation. Exekverbara applikationer måste använda en stödd .NET- eller .NET Framework-runtime-tillgång.
  • Opt-in paketmultiplexering fungerar för stora asynkrona läsningar och slutpunktshantering för SQL-databaser i Microsoft Fabric.
  • Förbättrat inbyggt stöd för Ahead-of-Time (AOT) kompilering.
  • Minskade allokeringar i anslutnings- och TDS-bearbetningsvägar.
  • Intern grund för den offentliga Security Support Provider Interface (SSPI)-utbyggbarheten lades till i 7.0.

Distribuera inte version 6.1.0. Version 6.1.1 återställde de påverkade paketdetekterings- och uppspelningsändringarna.

Utgivningar

Version Släppt Kundrelevanta förändringar
6.1.7 september 2026 Uppdaterade SNI till 6.0.3. Korrigerad ServerCertificate validering på hanterad SNI, verifiering av Always Encrypted enclave-attestationsnyckeln, AccessTokenCallback TNIR-standardinställningar på .NET Framework, tokenautentiseringsstatus i anslutningspoolnycklar, callback-baserad validering av förinloggningscertifikat och konfigurerbar retry-assembly-lösning.
6.1.6 Juni 2026 Lagt till valbart brokerstöd för Windows Web Account Manager (WAM), härdat tolkningen av TDS-token, korrigerat signaturfel för cachad kolumnhuvudnyckel och åtgärdat validering av argumentet GetChars.
6.1.5 april 2026 Onödigt SPN- och DNS-arbete för icke-integrerad autentisering har tagits bort, ExecuteScalar propagerrar nu serverfel som returneras efter data, och metadatatyper för vektorer har korrigerats.
6.1.4 Januari 2026 Lade till EnableMultiSubnetFailoverByDefault. Fixade SqlDataAdapter batchningsfel och negativa aktiva anslutningsantal i poolmetrik.
6.1.3 November 2025 Lades till IgnoreServerProvidedFailoverPartner för Basic Availability Groups och anpassade portar. Fixade tidig initialisering av EventSource-metrik.
6.1.2 Oktober 2025 Åtgärdade för tidig initiering av prestandaräknare, utbyte av anpassade autentiseringsleverantörer och samtidighet i poolen som förhindrade användning av den konfigurerade maximala poolstorleken.
6.1.1 Augusti 2025 Återställde ändringar av delvis paketdetektering, fixning och återuppspelning från 6.1.0. Korrigerade referenssammanställningar för vektorer och SqlVector<T>.Null.
6.1.0 Juli 2025 Version med allmän tillgänglighet Detta paket togs bort på listan på grund av kritiska regressioner. Använd den inte.

Tidigare utgivningslinjer

Följande releaselinjer stöds inte längre. Använd deras sammanfattningar när du planerar en uppgradering över flera drivrutinsversioner.

6.0

Version 6.0 blev allmänt tillgänglig i januari 2025. Den sista patchen var 6.0.5, släppt i januari 2026.

  • Inbyggt stöd för SQL Server JSON lades till genom Microsoft.Data.SqlTypes.SqlJson, inklusive läs-, skriv-, streaming- och bulkkopieringsvägar.
  • Lagt till offentliga, starkt typade diagnostikdata för kommando-, anslutnings- och transaktionshändelser.
  • Lade till OpenAsync(SqlConnectionOverrides, CancellationToken), inklusive OpenWithoutRetry.
  • Lagt till DateOnly och TimeOnly stöd i DataTable och SqlDataRecord strukturerade parametrar.
  • Lade till .NET 9-stöd.
  • Har tagit bort .NET Standard och .NET 6 runtime-tillgångar. Mål som stöds är nu .NET 8 och senare versioner samt .NET Framework 4.6.2 och senare versioner.
  • Begränsat EnableOptimizedParameterBinding till textkommandon.

Utgivningar

Version Släppt Kundrelevanta förändringar
6.0.5 Januari 2026 Fixade SqlDataAdapter batch-RPC-nullhantering, lade till Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefaultoch uppdaterade beroenden.
6.0.4 November 2025 Lade till Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner för Basic Availability Groups som använder anpassade TCP-portar.
6.0.3 Oktober 2025 Förhindrade att anpassade leverantörer för autentisering ersattes och åtgärdade samtidigheten i poolen som underutnyttjade Max Pool Size.
6.0.2 April år 2025 Åtgärdade möjliga nullfel vid socket-mottagning, SqlJson-referens-API:er, JSON-utdataparametrar och beroenden.
6.0.1 Januari 2025 Korrigerade SqlClientDiagnostic referens-API:er, varningar om äldre TLS-versioner och beroenden.
6.0.0 Januari 2025 Version med allmän tillgänglighet Detta paket är ej listat på NuGet, och anteckningarna uppströms dokumenterar ingen anledning.

5.2

Version 5.2 blev allmänt tillgänglig i februari 2024. Den sista patchen var 5.2.3, släppt i april 2025.

  • Lagt till SqlConnection.AccessTokenCallback för asynkron, poolkompatibel tokeninsamling.
  • Lade till SqlBatch och SqlBatchCommand i .NET 6 och senare versioner.
  • Lagt till SqlDiagnosticListener stöd på .NET Standard.
  • Lade till 64-bitars SqlBulkCopy.RowsCopied64. Den äldre egenskapen RowsCopied är fortfarande ett 32-bitars heltal.
  • Har lagt till služba Active Directory Workload Identity autentisering.
  • Lagt till stöd för .NET 8 och big-endian-plattformar.
  • Ändrade UseOneSecFloorInTimeoutCalculationDuringLogin till standard till true.
  • Används NegotiateAuthentication för hanterad SSPI på .NET 7 och senare versioner.

Utgivningar

Version Släppt Kundrelevanta förändringar
5.2.3 April år 2025 Åtgärdade möjliga nullfel vid socketmottagning och inkonsekvenser i referenssammanställningar, tillät negativa övergående felnummer och uppdaterade beroenden.
5.2.2 Augusti 2024 Fasta token-timeouts, hanterade SNI-socketanslutningar, assembly-targeting, SSPI-återförsök, användardefinierade typläsningar och krypterad läsardata. Uppdaterade identitetspaket för CVE-2024-35255.
5.2.1 Maj 2024 Åtgärdade Linux-anslutningar till namngivna instanser med portar, FireInfoMessageEventOnUserErrors, datetimeoffset(n)-tabellvärdesparametrar, fördröjda OpenAsync och bevarande av AccessTokenCallback med SqlConnection.Clone().
5.2.0 Februari 2024 Version med allmän tillgänglighet

5.1

Version 5.1 nådde allmän tillgänglighet i januari 2023. Den sista patchen var 5.1.9, släppt i januari 2026.

  • Lade till stöd för .NET 6 och tog bort .NET Core 3.1.
  • Lagt till DateOnly och stöd TimeOnly för parametervärden och GetFieldValue.
  • Lagt till TLS 1.3 i .NET och inbyggda SQL Server Network Interface (SNI)-vägar.
  • Lagt till ServerCertificate för exakt certifikatmatchning med Encrypt=Mandatory och Encrypt=Strict.
  • Tillagd Windows ARM64-stöd för .NET Framework.
  • Gjorde SqlConnectionEncryptOption strängparsern offentlig.
  • Version 5.1.3 fixade CVE-2024-0056-krypteringsnedgraderingsvägen och valideringen av certifikatkedjan.

Utgivningar

Version Släppt Kundrelevanta förändringar
5.1.9 Januari 2026 Flyttade SqlStatistics tidpunkten till Environment.TickCount och uppdaterade ramverksspecifika beroenden.
5.1.8 November 2025 Lagt till Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner, åtgärdat hanteringen av UTF-8-byteordningsmarkering vid masskopiering, moderniserat skapandet av MSAL och uppdaterat beroenden.
5.1.7 April år 2025 Åtgärdade ett möjligt nullfel vid socketmottagning, justerade käll- och referensassemblyer samt uppdaterade beroenden.
5.1.6 Augusti 2024 Åtgärdade OpenAsync, timeout för autentisering och fel med väntande data i krypterade läsare. Uppdaterade identitetsberoenden för CVE-2024-35255 och cachelagrade TokenCredential-instanser.
5.1.5 Januari 2024 Åtgärdade rensning av transaktioner före poolning samt fel vid konvertering av datum och tid i Always Encrypted. Uppdaterade IdentityModel-beroenden för CVE-2024-21319.
5.1.4 Januari 2024 Fixade ett .NET-dödläge för distribuerade transaktioner och uppgraderade Azure.Identity för CVE-2023-36414.
5.1.3 Januari 2024 Åtgärdade CVE-2024-0056 och validering av certifikatkedjan.
5.1.2 Oktober 2023 Fixade SQL Express-användarinstanser, enklavförsök, LocalDB, anslutningssträngbyggarvärden, SqlConnectionEncryptOption konfigurationskonvertering och OpenAsync tillfälliga fel.
5.1.1 Mars 2023 Åtgärdade felrapporteringen för Always Encrypted, transaktioner i omdirigeringsläge, tokenbegränsning, TDS RPC-fel vid stora frågor och hantering av GetBytesAsync nullvärden.
5.1.0 Januari 2023 Version med allmän tillgänglighet

5.0

Version 5.0 blev allmänt tillgänglig i augusti 2022. Den sista patchen var 5.0.2, släppt i mars 2023.

  • Lade till TDS 8.0 via Encrypt=Strict. Strikt läge startar TLS före TDS-inloggningsutbytet och validerar alltid servercertifikatet.
  • Ändrade SqlConnectionStringBuilder.Encrypt från bool till SqlConnectionEncryptOption.
  • Flyttade SQL Server common language runtime (CLR)-typer till det separat versionerade Microsoft.SqlServer.Server paketet.
  • Tillagda Server SPN och Failover Server SPN anslutningsalternativ.
  • Lagt till Windows SQL Server aliasstöd på nuvarande .NET.
  • SqlDataSourceEnumerator lades till i Windows.
  • Tappade .NET Framework 4.6.1.

Important

Typförändringen SqlConnectionStringBuilder.Encrypt är binär brytning. Typer som tagits bort från Microsoft.Data.SqlClient.Server kräver också källkodsändringar för att använda Microsoft.SqlServer.Server. Kompilera om applikationer och bibliotek, uppdatera namnrymder och kontrollera om det finns namnrymdskonflikter om System.Data.SqlClient fortfarande refereras.

Utgivningar

Version Släppt Kundrelevanta förändringar
5.0.2 Mars 2023 Åtgärdade en minnesläcka vid asynkron läsning, omdirigeringsläge TransactionScope, Always Encrypted-fel, TDS RPC-fel vid stora frågor och dödlägen i distribuerade transaktioner.
5.0.1 Oktober 2022 Återställd HostNameInCertificate på .NET Framework och fixade uppmärksamhetsdödlås, SqlConnectionStringBuilder.Encrypt, annulleringsregistrering, hanterade SNI-hängningar, UTF-8-kollation och en SNI-applikationsdomänkrasch.
5.0.0 Augusti 2022 Version med allmän tillgänglighet

4.1

Version 4.1 blev allmänt tillgänglig i januari 2022. Den sista patchen var 4.1.1, släppt i september 2022.

  • Lades till Attestation Protocol=None för isolerade miljöer med virtualiseringsbaserad säkerhet (VBS).
  • Parallelliserade anrop till SQL Server Resolution Protocol på Linux och macOS när MultiSubnetFailover är aktiverat.
  • Fixade kontroller av certifikatinkallningslistor under autentisering.
  • Fixade Microsoft Entra-autentisering, nullSqlBinary- och radversionsvärden samt UTF-8-sorteringsbeteende.

Utgivningar

Version Släppt Kundrelevanta förändringar
4.1.1 2022 september Åtgärdade fel på certifikatåterkallelselistor, parallelliserade SQL Server Resolution Protocol-förfrågningar för MultiSubnetFailover, och rättade Microsoft Entra-autentisering, rowversion, UTF-8 och SNI-applikationsdomänfel.
4.1.0 Januari 2022 Version med allmän tillgänglighet

4.0

Version 4.0 blev allmänt tillgänglig i november 2021. Den sista patchen var 4.0.6, släppt i augusti 2024.

  • Ändrade standardvärdet för Encrypt från false till true.
  • Lagt till SqlCommand.EnableOptimizedParameterBinding för kommandon med många parametrar.
  • Lade till SqlFileStream för Windows genom .NET Standard-implementering.
  • Lade till stöd för delad LocalDB-instans i hanterad SNI.
  • Lade till GetFieldValue<T> och GetFieldValueAsync<T> för XmlReader, TextReader, och Stream.
  • Tog bort säkerhetsbrytaren från konfigurerbar omprovningslogik. Retry förblev inaktiverat tills en applikation konfigurerade en leverantör.
  • Ändrade Microsoft Entra-autentiseringsfel till att kasta SqlException istället för AggregateException.
  • Slutade stödja .NET Core 2.1.
  • Version 4.0.5 fixade CVE-2024-0056-krypteringsnedgraderingssökvägen och valideringen av certifikatkedjan.

Important

Eftersom kryptering som standard använder true i version 4.0 och senare kan en uppgradering blotta problem med förtroende för certifikat eller servernamn som inte stämmer överens. Inaktivera inte kryptering för att kringgå dessa fel. Installera ett betrodd servercertifikat eller konfigurera certifikatvalidering för distributionen.

Utgivningar

Version Släppt Kundrelevanta förändringar
4.0.6 Augusti 2024 Fixad rensning av transaktionshändelser innan pooling och ActiveDirectoryAuthenticationProvider.AcquireTokenAsync timeout-hantering.
4.0.5 Januari 2024 Åtgärdade CVE-2024-0056 och validering av certifikatkedjan.
4.0.4 Oktober 2023 Fixade asynkrona enklav-återförsök, LocalDB och hanterad SNI-reserv, filversioner och anslutningsaktivitetskorrelation.
4.0.3 2023 april Minskade tokenbegränsningen för cachelagrade konton och åtgärdade fel i stora TDS RPC-frågor.
4.0.2 2022 september Åtgärdade fel på certifikatåterkallelselistor, parallelliserade SQL Server Resolution Protocol-förfrågningar för MultiSubnetFailover, och rättade Microsoft Entra-autentisering, rowversion, UTF-8 och SNI-applikationsdomänfel.
4.0.1 Januari 2022 Lade till SuppressInsecureTLSWarning och fixade .NET 6 Kerberos, LocalDB-pipnamn och samtidiga enklavfrågor.
4.0.0 november 2021 Version med allmän tillgänglighet

3.1

Version 3.1 blev allmänt tillgänglig i mars 2022. Den sista patchen var 3.1.7, släppt i augusti 2024.

  • Lade till Attestation Protocol=None för VBS-enklaver.
  • Lade till SQL-felen 42108 och 42109 i standardlistan för övergående fel.
  • Lade till Windows ARM64-stöd för .NET Framework i 3.1.2.
  • Minskade upprepade Microsoft Entra-tokenförfrågningar genom tyst tokenförvärv i 3.1.3.
  • Åtgärdade möjligheten att nedgradera krypteringen för CVE-2024-0056 i 3.1.5.
  • Åtgärdade rensning av transaktioner innan poolning samt hantering av tidsgränser för Microsoft Entra-token i 3.1.7.

Utgivningar

Version Släppt Kundrelevanta förändringar
3.1.7 Augusti 2024 Åtgärdade rensning av transaktionshändelser innan poolning, timeoutproblem vid autentisering, signering av sammansättningar och en krasch i en SNI-programdomän.
3.1.6 Augusti 2024 Detta paket var inte korrekt signerat och var inte listat. Det finns ingen uppströms releasenotfil. Använd 3.1.7 istället.
3.1.5 Januari 2024 Åtgärdade CVE-2024-0056 och validering av certifikatkedjan.
3.1.4 Oktober 2023 Fixade asynkrona enklav-återförsök, LocalDB och hanterad SNI-reservplan, filversioner, anslutningsaktivitetskorrelation och EventSource-formatering.
3.1.3 Mars 2023 Minskade Microsoft Entra-tokenstrypning med AcquireTokenSilent och åtgärdade stora TDS RPC-fel.
3.1.2 Februari 2023 Stöd för .NET Framework Windows ARM64 har lagts till, och problem med trådsäkerheten i försökslistan, dödlägen i distribuerade transaktioner, UTF-8-sortering och validering av lagrade procedurer har åtgärdats.
3.1.1 Augusti 2022 Åtgärdade nullvärden för SqlBinary, .NET 6 Kerberos-fel och nollreferensfel vid Microsoft Entra-autentisering.
3.1.0 mars 2022 Version med allmän tillgänglighet

3.0

Version 3.0 blev allmänt tillgänglig i juni 2021. Den sista patchen var 3.0.1, släppt i september 2021.

  • Tillagd konfigurerbar återförsökslogik för anslutning och kommandooperationer. I 3.0 låg den fortfarande som opt-in bakom Switch.Microsoft.Data.SqlClient.EnableRetryLogic.
  • Lagt till EventCounters för anslutning och poolaktivitet.
  • Lade till služba Active Directory Default autentisering via Azure.Identity.
  • Lade till registrering av Always Encrypted-nyckellagerleverantörer på anslutningsnivå och kommandonivå.
  • Lade till TCP IP-adresspreferens.
  • Ändrade användartilldelad hanterad identitetsautentisering till att använda klient-ID istället för objekt-ID i User Id.
  • Ändrade SQL-rowversion-nullvärden så att de returnerar DBNullnull i stället för en tom byte-matris. En AppContext-switch bevarade det äldre beteendet.
  • Höjde minimimålet för .NET Framework från 4.6 till 4.6.1.

Systemnyckellagringsleverantörer har företräde framför leverantörer registrerade på en anslutning eller ett kommando från och med 3.0. Byt namn på en anpassad leverantör om dess namn krockar med en inbyggd leverantör.

Utgivningar

Version Släppt Kundrelevanta förändringar
3.0.1 2021 september Åtgärdade problem med blockerad öppning av Microsoft Entra-anslutningar, tillstånd för transaktionsupptrappning, obligatorisk kryptering, rekursiva återförsök och dödlägen samt anslutningar som inte gick att använda.
3.0.0 Juni 2021 Version med allmän tillgänglighet

2.1

Version 2.1 nådde allmän tillgänglighet i november 2020. Den sista patchen var 2.1.7, släppt i januari 2024.

  • Utökad Always Encrypted till stödda .NET Standard 2.0-plattformar.
  • Lagt till stöd för säker enklav på Unix för .NET Core och över .NET Standard 2.1-plattformar.
  • Har lagt till služba Active Directory Device Code Flow och hanterat identitetsautentisering.
  • Tillagda anpassningskrokar för interaktiv och enhetskodsautentisering.
  • Tillagd metadata för känslighetsklassificeringsrankning.
  • Lade till SqlConnection.ServerProcessId.
  • Lade till Command Timeout anslutningsalternativet som standard för kommandon som skapas av en anslutning.
  • Version 2.1.7 fixade nedgraderingsvägen för CVE-2024-0056 kryptering.

Utgivningar

Version Släppt Kundrelevanta förändringar
2.1.7 Januari 2024 Åtgärdade CVE-2024-0056 och validering av certifikatkedjan.
2.1.6 2023 april Åtgärdade TDS RPC-fel vid stora frågor i SqlCommand.ExecuteReaderAsync, konflikter med standardkollation för UTF-8 och dödlås vid sändning av attention-signaler.
2.1.5 Augusti 2022 Lade till validering av lagrad procedurlängd CommandText och fixade .NET 6 Kerberos-autentisering och SqlTypeWorkarounds.
2.1.4 2021 september Säkerställda anslutningar som misslyckas när kryptering krävs och fasta anslutningar som går in i ett oanvändbart tillstånd.
2.1.3 Maj 2021 Förhindrade korruption av transaktionsdata med öppna resultatuppsättningar och åtgärdade ett kapplöpningstillstånd i SinglePhaseCommit och TransactionEnded.
2.1.2 mars 2021 Åtgärdade namngivna Unix-instanser, felaktiga timeout-resultat, osäker DTD-bearbetning, Kerberos-SPN:er, saknade cacheberoenden, spårning och MARS-rubriker.
2.1.1 2020 december Fast systemtilldelad hanterad identitet i Azure Functions, Unix Kerberos och TCP keep-alive.
2.1.0 November 2020 Version med allmän tillgänglighet

2.0

Version 2.0 nådde allmän tillgänglighet i juni 2020. Den sista patchen var 2.0.1, släppt i augusti 2020.

  • Lade till služba Active Directory Integrated- och služba Active Directory Interactive-autentisering på .NET Core och .NET Standard.
  • Har lagt till služba Active Directory Service Principal autentisering.
  • Lagt till Microsoft.Data.SqlClient.EventSource tracing.
  • Lade till stöd för plattformsoberoende TCP-keep-alive och en valbar hanterad nätverksimplementation i Windows för test och felsökning. Den hanterade sökvägen hade inte stöd för Windows-autentisering som inte är domänbaserad.
  • Lagt till SqlBulkCopy.RowsCopied och ordnade tips för masskopiering.
  • Lade till SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry).
  • Lade till Windows ARM-stöd via beroendetMicrosoft.Data.SqlClient.SNI.runtime.
  • Påbörjade validering av serverns certifikat när en server tvingar kryptering, inklusive när anslutningssträngen anger Encrypt=false. Anslutningar kan misslyckas efter denna uppgradering om certifikatet inte är betrodd eller om dess namn inte matchar servern.
  • Ändrade hantering av decimalparametrar för att använda SQL Server-kompatibel avrundning.

Utgivningar

Version Släppt Kundrelevanta förändringar
2.0.1 Augusti 2020 Lade till samexistensvänlig autentiseringskonfiguration och åtgärdade utgång av poolade token, hantering av tillfälliga fel, cachelagring för enklaver och fel vid intern SNI-förinloggning.
2.0.0 Juni 2020 Version med allmän tillgänglighet

1.1

Version 1.1 nådde allmän tillgänglighet i november 2019. Den sista patchen var 1.1.4, släppt i mars 2021.

  • La till Always Encrypted med säkra enklaver för .NET Framework- och .NET Core-mål som stöds.
  • Lade till |DataDirectory|-utökning i AttachDBFilename för .NET Core.
  • Förbättrade asynkrona läsningar med cachelagring i målbufferten för flera paket.
  • Minskad snapshot-overhead i TdsParserStateObject och SqlDataReader.
  • Åtgärdade timeout-tillstånd och Multiple Active Result Sets (MARS)-headerfel i senare patchar.

Utgivningar

Version Släppt Kundrelevanta förändringar
1.1.4 mars 2021 Korrigerade felaktiga resultat i timeout-tillståndet och MARS-headerfel på .NET Framework 4.8 och senare versioner.
1.1.3 2020 maj Förhindrade avbrutna transaktioner från att ansluta poolade anslutningar och återställde den regressiva MARS-headerfixen.
1.1.2 apr 2020 Lade till användarnamn för interaktiv služba Active Directory-autentisering och åtgärdade problem med kvarhållning av lösenord samt TDS-huvuden för MARS.
1.1.1 Februari 2020 Återställde asynkrona SNIPacket förändringar som orsakade deadlocks och korrigerade SNI-beroendeintervallet.
1.1.0 november 2019 Version med allmän tillgänglighet

1.0

Microsoft. Data.SqlClient 1.0 blev allmänt tillgänglig i augusti 2019. Den sista patchen var 1.0.19269.1, släppt i september 2019.

  • Introducerade den separat levererade Microsoft.Data.SqlClient leverantören.
  • Stödde .NET Framework 4.6 och senare versioner, .NET Core 2.1 och senare versioner samt .NET Standard 2.0.
  • Har lagt till služba Active Directory Interactive autentisering på .NET Framework.
  • Lade till služba Active Directory Password autentisering på .NET Core.
  • Tillagd metadata för datakänslighetsklassificering på SqlDataReader.
  • Lagt till stöd för SQL Server 2019 UTF-8-sammanställning.
  • Alltid krypterat stöd lades till på .NET Core.

Utgivningar

Version Släppt Kundrelevanta förändringar
1.0.19269.1 september 2019 Återställde SqlCommand.StatementCompleted, lade till det saknade SqlConnectionStringBuilder.Authentication, och återställde en inkompatibel SqlAuthenticationParameters.Resource API-ändring.
1.0.19249.1 september 2019 Åtgärdade stora dataläsningar med flera paket i Unix.
1.0.19239.1 Augusti 2019 Version med allmän tillgänglighet Åtgärdade återanvändning av anslutningar efter transaktionsfel, publicering av SNI, hantering av globaliseringsinvariant läge och utökning av null-värden vid masskopiering.

Om ett program ska migrera från den äldre providern, använd Migrate from System.Data.SqlClient to Microsoft.Data.SqlClient i stället för att enbart förlita dig på versionsinformationen.

Valfria paketsläppsanteckningar

Valfria paket har egna releasenoter. Från och med version 7.0.2 levereras de i samma version som kärndrivrutinen.

Package Versionsmeddelanden
Microsoft.Data.SqlClient.Extensions.Azure Azure-tilläggets publiceringsanteckningar
Microsoft.Data.SqlClient.Extensions.Abstractions Utgivningsanteckningar för utvidgningsabstraktioner
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider Azure Key Vault Provider – versionsinformation

Referera inte till Microsoft.Data.SqlClient.Internal.Logging direkt. Det är ett internt beroende som delas av drivrutinspaket.

Utvärdera en uppdatering

  1. Identifiera varje drivrutin och valfri paketversion som används direkt eller transitivt.
  2. Läs versionsinformationen för varje delversion och huvudversion som uppdateringen passerar.
  3. Kontrollera SqlClient-drivrutinsstödets livscykel för målramverk och databaskompatibilitet.
  4. Uppdatera alla relaterade paket till kompatibla versioner.
  5. Bygg och testa applikationens autentisering, kryptering, anslutningspoolning, parametrar, transaktioner, återförsök, diagnostik och distributionsutdata.

För installations- och distributionskommandon, se Installera, uppdatera och distribuera Microsoft. Data.SqlClient.