Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Microsoft. Data.SqlClient jest dostępny niezależnie od .NET. Ten artykuł podsumowuje istotne funkcje, zmiany w zachowaniu oraz zmiany kompatybilności w każdej linii wydawniczej. Tabele wydań zawierają wszystkie opublikowane stabilne wersje pakietów, w tym każdą poprawkę hotfix i każdy pakiet niewidoczny na liście. Każdą aktualizację poprawek i zależności można znaleźć w pełnych notatkach dotyczących wydania w repozytorium SqlClient.
Bieżące wersje
| Linia wydawnicza | Najnowsza wersja | Data wydania | Support |
|---|---|---|---|
| 7.0 | 7.0.3 | Wrzesień 2026 r. | Standardowe wsparcie terminowe (STS) |
| 6.1 | 6.1.7 | Wrzesień 2026 r. | Obsługa długoterminowa (LTS) |
| Zapowiedź 7.1 | 7.1.0-preview3.26238.4 | Sierpień 2026 r. | Preview |
Nie używaj wersji podpremierowych w produkcji. Interfejsy API w wersji zapoznawczej i ich działanie mogą ulec zmianie przed udostępnieniem w ramach ogólnej dostępności (GA).
Tabele wydawnictw i podsumowania ogólnej dostępności wykorzystują miesiąc publikacji NuGet. Artykuł o cyklu życia zawiera oficjalne daty premiery, które mogą się różnić. Aby uzyskać informacje o oknach wsparcia, zobacz cykl życia wsparcia sterowników SqlClient.
Zapowiedź 7.1
Linia podglądowa 7.1 rozszerza batch proces, odkrywanie schematów, pulowanie połączeń oraz Always Encrypted API. Zmiany wprowadzone do wersji 7.1.0-preview3 obejmują:
-
SqlBatchwsparcie dla .NET Framework. - Przeciążenia asynchroniczne
SqlConnection.GetSchemaAsync. - Alisy łańcuchów połączeń takie jak
ColumnEncryption,ConnectTimeout,FailoverPartner,PacketSize, orazWorkstationId. - Mapowania pseudokolumn SQL Graph dla
$node_id,$edge_id,$from_idoraz$to_idwSqlBulkCopy. - Wymuszanie limitu czasu bezczynności połączenia jako opcji.
- Opcjonalny tryb limitu czasu połączenia, który obejmuje czas oczekiwania na połączenie z puli.
- Dalszy rozwój eksperymentalnej puli połączeń opartej na kanałach.
- Metody asynchroniczne na dostawcach przechowywania kluczy zawsze szyfrowanych. Sterownik nie wywołuje jeszcze tych metod podczas wykonywania poleceń, więc nie sprawiają one, że istniejące operacje Always Encrypted stają się asynchroniczne.
SqlBatchCommand.CommandBehavior jest uwzględniany od tego wiersza. Wcześniejsze wersje ignorowały tę własność. Przestarzała opcja połączenia Type System Version=SQL Server 2000 teraz zgłasza ArgumentException.
Preview3 zmienia także walidację certyfikatów i walidację enklaw.
ServerCertificate zawsze porównuje skonfigurowany plik certyfikatu z certyfikatem prezentowanym przez serwer. Nieprawidłowy lub nieczytelny plik teraz powoduje awarię połączenia zamiast wracać do weryfikacji nazwy hosta. Poświadczanie enklawy w Wirtualnym trybie bezpiecznym (VSM) i usłudze Host Guardian Service (HGS) teraz weryfikuje, że klucz publiczny enklawy jest powiązany z podpisanym raportem poświadczenia. Przetestuj ponownie te ścieżki po przejściu z wcześniejszej wersji zapoznawczej.
Przeczytaj notatki do wersji preview1,preview2 i preview3 przed przetestowaniem tej linii.
7.0 STS
Wersja 7.0 trafiła do ogólnej dostępności w marcu 2026 roku. To aktualna linia STS.
Cechy i zmiany
- Uwierzytelnianie Microsoft Entra za pomocą sterownika przeniosło się z pakietu podstawowego do
Microsoft.Data.SqlClient.Extensions.Azure. Dodaj pakiet rozszerzenia, gdy korzystasz z trybuActive Directoryuwierzytelniania. - Pakiet podstawowy nie zależy już od
Azure.Core,Azure.Identity, ani Microsoft Authentication Library (MSAL). -
SqlConnection.SspiContextProviderobsługuje niestandardowe negocjacje tokenów Kerberos i NTLM. Tożsamość dostawcy jest częścią klucza puli połączeń. - Ulepszone routowanie dla Azure SQL Hyperscale oraz nazwanych replik odczytu jest negocjowane automatycznie.
- Silnie typowane zdarzenia diagnostyczne dotyczące poleceń, połączeń i transakcji są dostępne w .NET Framework oraz w bieżącej platformie .NET.
-
SqlConfigurableRetryFactory.BaselineTransientErrorsujawnia domyślną listę błędów przejściowych sterownika. -
Active Directory Passworduwierzytelnianie jest przestarzałe. Używaj uwierzytelniania interaktywnego dla aplikacji użytkowników, uwierzytelniania przez podmiot usługi dla usług lub zarządzanej tożsamości dla obciążeń hostowanych w Azure. - Wsparcie docelowe zaczyna się od .NET Framework 4.6.2 i .NET 8. Sterownik obsługuje także budowanie i uruchamianie na .NET 10.
Multipleksowanie pakietów dla odczytów asynchronicznych pozostaje funkcjonalnością podglądową i jest opcjonalne w wersji 7.0. Testuj przełączniki zgodności w środowisku produkcyjnym i zachowaj możliwość wycofania zmian.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 7.0.0 | Marzec 2026 r. | Wydanie ogólnie dostępne. |
| 7.0.1 | Kwiecień 2026 r. | Naprawiono zapytania o metadane SqlBulkCopy dla programu SQL Server 2016 i dedykowanych pul SQL usługi Azure Synapse Analytics, poprawiono metadane pól wektorowych, dodano brakującą zależność programu .NET Framework System.Data.Common oraz dodano przekierowywanie typów dla abstrakcji uwierzytelniania. |
| 7.0.2 | Czerwiec 2026 r. | Ujednolicono główny sterownik i pakiety towarzyszące, zwiększono odporność parsowania tokenów TDS, poprawiono obsługę pamięci podręcznej weryfikacji podpisów funkcji Always Encrypted oraz naprawiono błędy związane z anulowaniem i wywołaniami GetBytes oraz GetChars z buforem o wartości null. |
| 7.0.3 | Wrzesień 2026 r. | Zaktualizowałem SNI do wersji 6.0.3. Naprawiono regresję SqlBulkCopy dotyczącą logowań, które nie mogą odczytać sys.all_columns, regresję alokacji pamięci, gdy śledzenie jest wyłączone, walidację ServerCertificate w zarządzanym SNI, weryfikację klucza poświadczania enklawy Always Encrypted oraz konfigurowalną ponowną próbę rejestrowania programu obsługi rozpoznawania zestawów dla całego procesu. |
Ważna
Zaczynając od wersji 7.0.2, wyrównuj bezpośrednie odniesienia do Microsoft.Data.SqlClient, Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions, i Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider. Pozwól, aby Microsoft.Data.SqlClient.Internal.Logging zostało rozwiązane tranzytywnie. W środowisku .NET Framework wersje zestawów Extensions.Azure, Extensions.Abstractions i Internal.Logging zmieniły się z 1.0.0.0 na 7.0.0.0. Odbuduj aplikację lub dodaj przekierowania wiązań podczas aktualizacji tych pakietów.
6.1 LTS
Wersja 6.1.0 została wydana w lipcu 2025 roku, ale później została usunięta z listy z powodu krytycznych regresji. Wersja 6.1.1, wydana w sierpniu 2025 roku, ustanowiła wspieraną linię 6.1 LTS.
Cechy i zmiany
- Natywna obsługa przesyłania wektorów w SQL Server 2025 przez
SqlVector<T>, początkowo dla wektorów zmiennoprzecinkowych pojedynczej precyzji. - Referencyjny zasób .NET Standard 2.0 dla kompatybilności bibliotek. Ten asset nie jest implementacją w czasie rzeczywistym. Aplikacje wykonywalne muszą korzystać z obsługiwanego zasobu uruchomieniowego .NET lub .NET Framework.
- Opcjonalne multipleksowanie pakietów dla dużych asynchronicznych operacji odczytu oraz obsługa punktów końcowych dla bazy danych SQL w Microsoft Fabric.
- Ulepszone natywne wsparcie dla kompilacji Ahead-of-Time (AOT).
- Zmniejszono alokacje w ścieżkach przetwarzania łączeń i TDS.
- W wersji 7.0 dodano wewnętrzne podstawy na potrzeby publicznej rozszerzalności interfejsu Security Support Provider Interface (SSPI).
Nie wdrażaj wersji 6.1.0. Wersja 6.1.1 cofnęła zmiany w wykrywaniu i odtwarzaniu pakietów.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 6.1.0 | Lipiec 2025 r. | Wersja ogólnie dostępna. Ten pakiet został usunięty z listy z powodu krytycznych błędów regresyjnych. Nie używaj go. |
| 6.1.1 | Sierpień 2025 roku | Cofnięto zmiany dotyczące wykrywania niepełnych pakietów, poprawek i odtwarzania wprowadzone w wersji 6.1.0. Poprawiono wektorowe zestawy referencyjne oraz SqlVector<T>.Null. |
| 6.1.2 | Październik 2025 | Naprawiono problem z wczesną inicjalizacją liczników wydajności, zastępowaniem niestandardowych dostawców uwierzytelniania oraz ze współbieżnością puli, który uniemożliwiał wykorzystanie skonfigurowanego maksymalnego rozmiaru puli. |
| 6.1.3 | Listopad 2025 r. | Dodano to IgnoreServerProvidedFailoverPartner dla Basic Availability Groups i niestandardowych portów. Poprawiono wczesną inicjalizację metryk EventSource. |
| 6.1.4 | Styczeń 2026 r. | Dodano element EnableMultiSubnetFailoverByDefault. Stałe SqlDataAdapter awarie w grupowaniu i ujemne liczby aktywnych połączeń w metrykach puli. |
| 6.1.5 | Kwiecień 2026 r. | Usunięto niepotrzebną obsługę Service Principal Name (SPN) i systemu nazw domen (DNS) w przypadku uwierzytelniania niezintegrowanego, sprawiono, że ExecuteScalar propaguje błędy serwera zwracane po danych, oraz poprawiono typy metadanych wektorowych. |
| 6.1.6 | Czerwiec 2026 r. | Dodano opcjonalną obsługę brokera Windows Web Account Manager (WAM), zwiększono odporność parsera tokenów TDS, poprawiono błędy weryfikacji podpisu buforowanego klucza głównego kolumny oraz naprawiono walidację argumentu GetChars. |
| 6.1.7 | Wrzesień 2026 r. | Zaktualizowałem SNI do wersji 6.0.3. Naprawiono ServerCertificate walidację zarządzanego SNI, weryfikację klucza poświadczania enklawy dla Always Encrypted, AccessTokenCallback działanie mechanizmu ponawiania połączenia oraz konfigurowalne ponawianie podczas rejestrowania globalnej dla procesu procedury obsługi rozpoznawania zestawów. |
Poprzednie linie wydawnicze
Poniższe linie wersji nie są już obsługiwane. Korzystaj z tych podsumowań, gdy planujesz aktualizację obejmującą wiele wersji sterowników.
6.0
Wersja 6.0 trafiła do ogólnej dostępności w styczniu 2025 roku. Ostatnia poprawka miała numer 6.0.5 i została wydana w styczniu 2026 roku.
- Dodano natywną obsługę formatu JSON w SQL Server za pośrednictwem
Microsoft.Data.SqlTypes.SqlJson, w tym obsługę odczytu, zapisu, strumieniowania i kopiowania zbiorczego. - Dodano publicznie dostępne, silnie typowane ładunki diagnostyczne dla zdarzeń polecenia, połączenia i transakcji.
- Dodano
OpenAsync(SqlConnectionOverrides, CancellationToken), w tymOpenWithoutRetry. - Dodano obsługę
SqlDataRecordiDataTablew parametrach strukturalnychDateOnlyiTimeOnly. - Dodano wsparcie dla .NET 9.
- Usunięto zasoby środowiska uruchomieniowego .NET Standard i .NET 6. Obsługiwane cele to .NET Framework 4.6.2 i późniejsze wersje oraz .NET 8 i nowsze.
- Ograniczono
EnableOptimizedParameterBindingdo poleceń tekstowych.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 6.0.0 | Styczeń 2025 r. | Wydanie ogólnodostępne. Ten pakiet nie jest wymieniony w NuGet, a notatki w górnym systemie nie zawierają powodu. |
| 6.0.1 | Styczeń 2025 r. | Poprawiono SqlClientDiagnostic API referencyjne, ostrzegania TLS na niższym poziomie oraz zależności. |
| 6.0.2 | Kwiecień 2025 | Naprawione możliwe awarie gniazda odbiorowego, SqlJson API referencyjne, parametry wyjściowe JSON oraz zależności. |
| 6.0.3 | Październik 2025 | Zapobiegano zastąpieniu niestandardowych dostawców uwierzytelniania oraz stałej puli współbieżności, które niedostatecznie wykorzystywały Max Pool Size. |
| 6.0.4 | Listopad 2025 r. | Dodano Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner dla grup Basic Availability Groups korzystających z niestandardowych portów TCP. |
| 6.0.5 | Styczeń 2026 r. | Naprawiono SqlDataAdapter obsługę wartości null we wsadowych wywołaniach RPC, dodano Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault i zaktualizowano zależności. |
5.2
Wersja 5.2 trafiła do ogólnej dostępności w lutym 2024 roku. Ostatnią łatką była wersja 5.2.3, wydana w kwietniu 2025 roku.
- Dodano
SqlConnection.AccessTokenCallbackna potrzeby asynchronicznego uzyskiwania tokenów zgodnego z pulą. - Dodano
SqlBatchiSqlBatchCommandw wersjach .NET 6 i nowszych. - Dodano
SqlDiagnosticListenerwsparcie dla standardu .NET. - Dodano
SqlBulkCopy.RowsCopied64w wersji 64-bitowej. StarszaRowsCopiedwłasność pozostaje 32-bitową liczbą całkowitą. - Dodano uwierzytelnianie
Active Directory Workload Identity. - Dodano wsparcie dla platform .NET 8 i big-endian.
- Zmieniono
UseOneSecFloorInTimeoutCalculationDuringLogin, ustawiając domyślnietrue. - Użyto
NegotiateAuthenticationdla zarządzanego interfejsu SSPI w platformie .NET 7 i nowszych wersjach.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 5.2.0 | luty 2024 r. | Wydanie ogólnodostępne. |
| 5.2.1 | Maj 2024 r. | Naprawiono połączenia z nazwanymi instancjami w systemie Linux z portami, parametry tabelaryczne typu datetimeoffset(n), opóźnione OpenAsync, oraz zachowanie elementu AccessTokenCallback przez SqlConnection.Clone(). |
| 5.2.2 | Sierpień 2024 r. | Stałe limity tokenów, zarządzane połączenia gniazd SNI, celowanie asemblera, próby SSPI, odczyty typów zdefiniowane przez użytkownika oraz dane z szyfrowanego czytnika. Zaktualizowane pakiety tożsamości dla CVE-2024-35255. |
| 5.2.3 | Kwiecień 2025 | Naprawiono możliwe błędy null podczas odbioru z gniazda oraz niespójności w asemblacjach referencyjnych, dopuszczono ujemne numery błędów przejściowych i zaktualizowano zależności. |
5.1
Wersja 5.1 trafiła do ogólnej dostępności w styczniu 2023 roku. Ostatnia poprawka to wersja 5.1.9, wydana w styczniu 2026 roku.
- Dodano wsparcie dla .NET 6 i zrezygnowano z .NET Core 3.1.
- Dodano obsługę
DateOnlyiTimeOnlydla wartości parametrów orazGetFieldValue. - Dodano obsługę protokołu TLS 1.3 w platformie .NET oraz w ścieżkach natywnego interfejsu sieciowego SQL Server (SNI).
- Dodano
ServerCertificatedo dokładnego dopasowywania certyfikatów za pomocąEncrypt=MandatoryiEncrypt=Strict. - Dodano wsparcie dla Windows ARM64 dla .NET Framework.
- Upubliczniłem parser
SqlConnectionEncryptOptionciągów znaków. - Wersja 5.1.3 naprawiła ścieżkę degradacji szyfrowania CVE-2024-0056 oraz walidację łańcucha certyfikatów.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 5.1.0 | Styczeń 2023 r. | Wydanie ogólnodostępne. |
| 5.1.1 | Marzec 2023 r. | Naprawiono raportowanie błędów funkcji Always Encrypted, transakcje w trybie przekierowania, dławienie tokenów, awarie TDS RPC przy dużych zapytaniach oraz obsługę wartości GetBytesAsync null. |
| 5.1.2 | Październik 2023 r. | Naprawiono instancje użytkownika SQL Express, ponowienia operacji enklawy, LocalDB, wartości konstruktora parametrów połączenia, konwersję konfiguracji SqlConnectionEncryptOption oraz błędy przejściowe OpenAsync. |
| 5.1.3 | Styczeń 2024 | Naprawiono CVE-2024-0056 oraz weryfikację łańcucha certyfikatów. |
| 5.1.4 | Styczeń 2024 | Naprawiono zakleszczenie w rozproszonych transakcjach platformy .NET i zaktualizowano Azure.Identity w związku z CVE-2023-36414. |
| 5.1.5 | Styczeń 2024 | Naprawiono czyszczenie transakcji przed pulowaniem oraz niepowodzenia konwersji wartości daty i godziny w funkcji Always Encrypted. Zaktualizowano zależności IdentityModel dla CVE-2024-21319. |
| 5.1.6 | Sierpień 2024 r. | Naprawiono OpenAsync, błędy limitu czasu uwierzytelniania oraz błędy oczekujących danych w zaszyfrowanym czytniku. Zaktualizowano zależności tożsamości dla CVE-2024-35255 oraz buforowanych instancji TokenCredential. |
| 5.1.7 | Kwiecień 2025 | Naprawiono możliwą awarię związaną z odbiorem z gniazda przy wartości null, uzgodniono asemblacje źródłowe i referencyjne oraz zaktualizowano zależności. |
| 5.1.8 | Listopad 2025 r. | Dodano Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner, poprawiono obsługę znacznika kolejności bajtów UTF-8 w operacji kopiowania zbiorczego, zmodernizowano tworzenie MSAL oraz zaktualizowano zależności. |
| 5.1.9 | Styczeń 2026 r. | Przeniesiono Environment.TickCount harmonogram do SqlStatistics i zaktualizowano zależności specyficzne dla struktury. |
5.0
Wersja 5.0 weszła do ogólnej dostępności w sierpniu 2022 roku. Ostatnią łatką była wersja 5.0.2, wydana w marcu 2023 roku.
- Dodano TDS 8.0 za pośrednictwem
Encrypt=Strict. Tryb ścisły uruchamia TLS przed wymianą logowania TDS i zawsze weryfikuje certyfikat serwera. - Zmieniono
SqlConnectionStringBuilder.Encryptzboolna .SqlConnectionEncryptOption - Przeniesiono typy SQL Server common language runtime (CLR) do osobno wersjonowanego
Microsoft.SqlServer.Serverpakietu. - Dodano opcje połączeń
Server SPNiFailover Server SPN. - Dodano obsługę aliasów SQL Server w systemie Windows w bieżącej platformie .NET.
- Dodano
SqlDataSourceEnumeratorw systemie Windows. - Porzuciłem .NET Framework 4.6.1.
Ważna
Zmiana typu SqlConnectionStringBuilder.Encrypt narusza zgodność binarną. Typy usunięte z Microsoft.Data.SqlClient.Server również wymagają zmian w kodzie źródłowym, aby użyć Microsoft.SqlServer.Server. Skompiluj ponownie aplikacje i biblioteki, zaktualizuj przestrzenie nazw i sprawdź konflikty przestrzeni nazw, jeśli nadal występują odwołania do System.Data.SqlClient.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 5.0.0 | Sierpień 2022 | Wydanie ogólnodostępne. |
| 5.0.1 | Październik 2022 r. | Przywrócono HostNameInCertificate w platformie .NET Framework oraz naprawiono zakleszczenia związane z sygnałem attention, SqlConnectionStringBuilder.Encrypt, rejestrację anulowania, zawieszanie się zarządzanego składnika SNI, sortowanie UTF-8 oraz awarię domeny aplikacji składnika SNI. |
| 5.0.2 | Marzec 2023 r. | Naprawiono wyciek pamięci podczas odczytu asynchronicznego, błędy w trybie redirect-mode TransactionScope, błędy Always Encrypted, błędy mechanizmu TDS RPC w przypadku dużych zapytań oraz zakleszczenia w transakcjach rozproszonych. |
4.1
Wersja 4.1 trafiła do ogólnej dostępności w styczniu 2022 roku. Ostatnia poprawka miała numer 4.1.1 i została wydana we wrześniu 2022 roku.
- Dodano
Attestation Protocol=Nonedla enklaw zabezpieczeń opartych na wirtualizacji (VBS). - Równoległe wysyłanie żądań protokołu rozpoznawania SQL Server w systemach Linux i macOS, gdy funkcja
MultiSubnetFailoverjest włączona. - Naprawiono sprawdzanie listy unieważnionych certyfikatów podczas uwierzytelniania.
- Naprawiono uwierzytelnianie Microsoft Entra, wartości null
SqlBinaryi rowversion oraz zachowanie sortacji UTF-8.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 4.1.0 | Styczeń 2022 | Wydanie ogólnodostępne. |
| 4.1.1 | Wrzesień 2022 r. | Naprawiono błędy związane z listą unieważnionych certyfikatów, zrównoleglono żądania protokołu SQL Server Resolution Protocol dla MultiSubnetFailover, a także skorygowano błędy związane z uwierzytelnianiem Microsoft Entra, rowversion, UTF-8 oraz domeną aplikacji SNI. |
4.0
Wersja 4.0 trafiła do ogólnej dostępności w listopadzie 2021 roku. Ostatnia poprawka to 4.0.6, wydana w sierpniu 2024 roku.
- Zmieniono domyślną wartość
Encryptz nafalsetrue. - Dodano
SqlCommand.EnableOptimizedParameterBindingdo poleceń z wieloma parametrami. - Dodano
SqlFileStreamdla Windows poprzez implementację standardu .NET. - Dodano wsparcie dla współdzielonych instancji LocalDB w zarządzanym SNI.
- Dodano
GetFieldValue<T>iGetFieldValueAsync<T>dlaXmlReader,TextReader, orazStream. - Usunięto przełącznik bezpieczeństwa z konfigurowalnej logiki powtórek. Próba powtórna pozostała wyłączona, dopóki aplikacja nie skonfigurowała dostawcy usług.
- Zmieniono błędy uwierzytelniania Microsoft Entra tak, aby zgłaszały
SqlExceptionzamiastAggregateException. - Porzuciłem .NET Core 2.1.
- Wersja 4.0.5 naprawiła ścieżkę degradacji szyfrowania CVE-2024-0056 oraz walidację łańcucha certyfikatów.
Ważna
Ponieważ szyfrowanie domyślnie jest stosowane w true wersjach 4.0 i nowszych, aktualizacja może ujawnić niezgodności między zaufaniem certyfikatów lub nazwą serwera. Nie wyłączaj szyfrowania, żeby obejść te błędy. Zainstaluj zaufany certyfikat serwera lub skonfiguruj walidację certyfikatów dla wdrożenia.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 4.0.0 | Listopad 2021 r. | Wydanie ogólnodostępne. |
| 4.0.1 | Styczeń 2022 | Dodano SuppressInsecureTLSWarning i poprawiono obsługę Kerberos w .NET 6, nazwy potoków LocalDB oraz współbieżne zapytania do enklawy. |
| 4.0.2 | Wrzesień 2022 r. | Naprawiono błędy związane z listą unieważnionych certyfikatów, zrównoleglono żądania protokołu SQL Server Resolution Protocol dla MultiSubnetFailover, a także skorygowano błędy związane z uwierzytelnianiem Microsoft Entra, rowversion, UTF-8 oraz domeną aplikacji SNI. |
| 4.0.3 | Kwiecień 2023 r. | Zmniejszono ograniczanie tokenów kont w pamięci podręcznej i naprawiono awarie wywołań RPC TDS dla dużych zapytań. |
| 4.0.4 | Październik 2023 r. | Naprawiono asynchroniczne ponowienia dla enklawy, mechanizm awaryjny LocalDB i zarządzanego SNI, wersje plików oraz korelację aktywności połączeń. |
| 4.0.5 | Styczeń 2024 | Naprawiono CVE-2024-0056 oraz weryfikację łańcucha certyfikatów. |
| 4.0.6 | Sierpień 2024 r. | Naprawiono czyszczenie zdarzeń transakcji przed umieszczeniem w puli oraz obsługę limitu czasu ActiveDirectoryAuthenticationProvider.AcquireTokenAsync. |
3.1
Wersja 3.1 trafiła do ogólnej dostępności w marcu 2022 roku. Ostatnia poprawka miała numer 3.1.7 i została wydana w sierpniu 2024 roku.
- Dodano
Attestation Protocol=Nonedla enklaw VBS. - Dodano błędy SQL 42108 i 42109 do domyślnej listy błędów przejściowych.
- Dodano wsparcie dla Windows ARM64 dla .NET Framework w wersji 3.1.2.
- Ograniczono powtarzające się żądania tokenów Microsoft Entra dzięki cichemu pozyskiwaniu tokenów w wersji 3.1.3.
- Naprawiono ścieżkę degradacji szyfrowania CVE-2024-0056 w wersji 3.1.5.
- Naprawiono czyszczenie transakcji przed pulowaniem oraz obsługę limitu czasu tokenu Microsoft Entra w wersji 3.1.7.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 3.1.0 | Marzec 2022 r. | Wydanie ogólnodostępne. |
| 3.1.1 | Sierpień 2022 | Naprawiono wartości null SqlBinary, awarie protokołu Kerberos w środowisku .NET 6 oraz błędy odwołania do obiektu o wartości null podczas uwierzytelniania Microsoft Entra. |
| 3.1.2 | luty 2023 | Dodano wsparcie dla .NET Framework Windows ARM64 oraz poprawiono bezpieczeństwo wątków z listą prób, zablokowania transakcji rozproszonych, sortowanie UTF-8 oraz walidację procedur przechowywanych. |
| 3.1.3 | Marzec 2023 r. | Ograniczono dławienie tokenów Microsoft Entra za pomocą AcquireTokenSilent i naprawiono błędy operacji TDS RPC w przypadku dużych zapytań. |
| 3.1.4 | Październik 2023 r. | Naprawiono asynchroniczne ponowienia dla enklawy, mechanizm rezerwowy dla LocalDB i zarządzanego SNI, wersje plików, korelację aktywności połączeń oraz formatowanie EventSource. |
| 3.1.5 | Styczeń 2024 | Naprawiono CVE-2024-0056 oraz weryfikację łańcucha certyfikatów. |
| 3.1.6 | Sierpień 2024 r. | Ta paczka nie była prawidłowo podpisana i nie była ogłoszona. Nie istnieje plik z informacjami o wydaniu z projektu źródłowego. Zamiast tego użyj wersji 3.1.7. |
| 3.1.7 | Sierpień 2024 r. | Naprawiono problemy z czyszczeniem zdarzeń transakcyjnych przed zwróceniem do puli, limitami czasu uwierzytelniania, podpisywaniem zestawów oraz awarią domeny aplikacji związaną z SNI. |
3.0
Wersja 3.0 weszła do ogólnej dostępności w czerwcu 2021 roku. Ostatnią łatką była wersja 3.0.1, wydana we wrześniu 2021 roku.
- Dodano konfigurowalną logikę powtórek dla operacji połączenia i poleceń. W wersji 3.0 pozostało opcjonalne za
Switch.Microsoft.Data.SqlClient.EnableRetryLogic. - Dodano liczniki EventCounters dla aktywności połączeń i puli.
- Dodano
Active Directory Defaultuwierzytelnianie za pośrednictwemAzure.Identity. - Dodano rejestrację dostawcy przechowywania klucza z zakresem połączenia i poleceń.
- Dodano preferencję adresu IP TCP.
- Zmieniono uwierzytelnianie zarządzanej tożsamości przypisanej przez użytkownika tak, aby używało identyfikatora klienta zamiast identyfikatora obiektu w
User Id. - Zmieniono wartości zerowe SQL rowversion tak, aby zwracały
DBNullzamiast pustej tablicy bajtów. Przełącznik AppContext zachował starsze zachowanie. - Podniesiono minimalną docelową wersję platformy .NET Framework z 4.6 do 4.6.1.
Dostawcy przechowywania kluczy systemowych mają pierwszeństwo przed dostawcami zarejestrowanymi na połączeniu lub poleceniu od wersji 3.0. Zmień nazwę niestandardowego dostawcy, jeśli jego nazwa koliduje z wbudowanym dostawcą.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 3.0.0 | Czerwiec 2021 | Wersja ogólnodostępna. |
| 3.0.1 | Wrzesień 2021 | Naprawiono problemy z blokowaniem otwierania połączeń Microsoft Entra, stanem eskalacji transakcji, wymaganym szyfrowaniem, rekurencyjnym ponawianiem prób i zakleszczeniami oraz połączeniami nienadającymi się do użycia. |
2.1
Wersja 2.1 trafiła do ogólnej dostępności w listopadzie 2020 roku. Ostatnia łatka to wersja 2.1.7, wydana w styczniu 2024 roku.
- Rozszerzono funkcję Always Encrypted o obsługę platform .NET Standard 2.0.
- Dodano wsparcie dla bezpiecznej enklawy na Unix dla .NET Core oraz na platformach .NET Standard 2.1.
- Dodano
Active Directory Device Code Floworaz uwierzytelnianie za pomocą tożsamości zarządzanej. - Dodano punkty dostosowywania dla uwierzytelniania interaktywnego i uwierzytelniania za pomocą kodu urządzenia.
- Dodano metadane rankingowe klasyfikacji wrażliwości.
- Dodano element
SqlConnection.ServerProcessId. - Dodano
Command Timeoutopcję połączenia jako domyślną dla poleceń utworzonych przez połączenie. - Wersja 2.1.7 naprawiła ścieżkę obniżenia szyfrowania CVE-2024-0056.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 2.1.0 | Listopad 2020 | Wydanie ogólnodostępne. |
| 2.1.1 | Grudzień 2020 | Stała systemowo przypisana zarządzana tożsamość w Azure Functions, Unix Kerberos i TCP keep-alive. |
| 2.1.2 | Marzec 2021 r. | Naprawiłem instancje z nazwami w Uniksie, błędne wyniki timeoutu, niebezpieczne przetwarzanie DTD, Kerberos SPN, brakujące zależności buforowania, śledzenie oraz nagłówki MARS. |
| 2.1.3 | Maj 2021 | Zapobiegnięto uszkodzeniu danych transakcyjnych w przypadku otwartych zbiorów wyników oraz naprawiono warunek wyścigu SinglePhaseCommit i TransactionEnded. |
| 2.1.4 | Wrzesień 2021 | Zapewnione połączenia zawodzą, gdy wymagane jest szyfrowanie, a stałe połączenia wchodzą w stan nieużyteczny. |
| 2.1.5 | Sierpień 2022 | Dodano walidację długości procedur składowanych CommandText oraz naprawiono uwierzytelnianie Kerberos w .NET 6 i SqlTypeWorkarounds. |
| 2.1.6 | Kwiecień 2023 r. | Naprawiono awarie wywołań RPC TDS w przypadku dużych zapytań w SqlCommand.ExecuteReaderAsync, konflikty domyślnego sortowania UTF-8 oraz zakleszczenia podczas wysyłania sygnału attention. |
| 2.1.7 | Styczeń 2024 | Naprawiono CVE-2024-0056 oraz weryfikację łańcucha certyfikatów. |
2.0
Wersja 2.0 trafiła do ogólnej dostępności w czerwcu 2020 roku. Ostatnią aktualizacją była wersja 2.0.1, wydana w sierpniu 2020 roku.
- Dodano uwierzytelnianie
Active Directory IntegratediActive Directory Interactivew środowiskach .NET Core i .NET Standard. - Dodano uwierzytelnianie
Active Directory Service Principal. - Dodano
Microsoft.Data.SqlClient.EventSourceśledzenie. - Dodano obsługę TCP keep-alive na wielu platformach oraz opcjonalną zarządzaną implementację sieciową w systemie Windows na potrzeby testowania i debugowania. Ścieżka zarządzana nie obsługiwała uwierzytelniania systemu Windows nienależącego do domeny.
- Dodano
SqlBulkCopy.RowsCopiedoraz uporządkowano wskazówki dotyczące kopiowania zbiorczego. - Dodano element
SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry). - Dodano wsparcie dla Windows ARM dzięki zależności
Microsoft.Data.SqlClient.SNI.runtime. - Rozpoczęto weryfikację certyfikatu serwera, gdy serwer wymusza szyfrowanie, w tym gdy parametry połączenia ustawiają
Encrypt=false. Połączenia mogą się zerwać po tej aktualizacji, jeśli certyfikat nie jest zaufany lub jego nazwa nie zgadza się z serwerem. - Zmieniono obsługę skali parametrów dziesiętnych na stosowanie zaokrągleń zgodnych z SQL Server.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 2.0.0 | Czerwiec 2020 r. | Wydanie ogólnodostępne. |
| 2.0.1 | Sierpień 2020 | Dodano konfigurację uwierzytelniania sprzyjającą współistnieniu oraz naprawiono problemy z wygasaniem tokenów w puli, obsługą błędów przejściowych, buforowaniem enklaw i błędami natywnego SNI podczas logowania wstępnego. |
1.1
Wersja 1.1 weszła do ogólnej dostępności w listopadzie 2019 roku. Ostatnia poprawka miała numer 1.1.4 i została wydana w marcu 2021 roku.
- Dodano funkcję Always Encrypted z bezpiecznymi enklawami w obsługiwanych wersjach platform .NET Framework i .NET Core.
- Dodano
|DataDirectory|rozszerzenieAttachDBFilenamedo .NET Core. - Ulepszone odczyty asynchroniczne dzięki wielopaketowemu buforowaniu bufora docelowego.
- Zmniejszono narzut związany z migawkami w
TdsParserStateObjectiSqlDataReader. - Naprawiono błędy nagłówków związane ze stanem przekroczenia limitu czasu oraz Multiple Active Result Sets (MARS) w późniejszych poprawkach.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 1.1.0 | Listopad 2019 | Wydanie ogólnodostępne. |
| 1.1.1 | luty 2020 | Przywrócono asynchroniczne SNIPacket zmiany powodujące zakleszczenia i skorygowano zakres zależności SNI. |
| 1.1.2 | Kwiecień 2020 | Dodano nazwy użytkowników do uwierzytelniania interaktywnego Active Directory oraz naprawiono zapamiętywanie haseł i nagłówki MARS TDS. |
| 1.1.3 | Maj 2020 r. | Uniemożliwiono dołączanie połączeń z puli przez przerwane transakcje oraz cofnięto regresywną poprawkę dotyczącą nagłówka MARS. |
| 1.1.4 | Marzec 2021 r. | Poprawiono nieprawidłowe wyniki związane ze stanem limitu czasu oraz błędy w nagłówku MARS w .NET Framework 4.8 i nowszych wersjach. |
1.0
Microsoft. Data.SqlClient 1.0 osiągnął ogólną dostępność w sierpniu 2019 roku. Ostatnia aktualizacja miała numer 1.0.19269.1 i została wydana we wrześniu 2019 roku.
- Wprowadzono dostawcę
Microsoft.Data.SqlClientdostarczanego oddzielnie. - Obsługiwane wersje .NET Framework 4.6 i nowsze, wersje .NET Core 2.1 i nowsze, a także standard .NET 2.0.
- Dodano uwierzytelnianie
Active Directory Interactivew programie .NET Framework. - Dodano
Active Directory Passworduwierzytelnianie dla .NET Core. - Dodano metadane klasyfikacji poufności danych na
SqlDataReader. - Dodano wsparcie dla kolacji UTF-8 w SQL Server 2019.
- Dodano wsparcie dla Always Encrypted w .NET Core.
Nowości
| Wersja | Zwolniono | Zmiany dostosowane do klienta |
|---|---|---|
| 1.0.19239.1 | Sierpień 2019 | Wydanie ogólnodostępne. Naprawiono ponowne użycie połączeń po niepowodzeniach transakcji, publikowanie informacji SNI, obsługę trybu niezmiennego względem globalizacji oraz rozszerzanie wartości null podczas kopiowania zbiorczego. |
| 1.0.19249.1 | Wrzesień 2019 | Naprawiono odczyt dużych wielopakietowych porcji danych w systemach Unix. |
| 1.0.19269.1 | Wrzesień 2019 | Przywrócono SqlCommand.StatementCompleted, dodano brakujące SqlConnectionStringBuilder.Authentication i cofnięto niekompatybilną zmianę API SqlAuthenticationParameters.Resource. |
W przypadku aplikacji migrującej ze starszego dostawcy użyj Migrate from System.Data.SqlClient to Microsoft.Data.SqlClient zamiast opierać się wyłącznie na informacjach o wydaniu.
Opcjonalne notatki dotyczące wydania pakietu
Opcjonalne pakiety mają własne informacje o wydaniu. Począwszy od wersji 7.0.2 są wydawane w wersji zgodnej z głównym sterownikiem.
| Package | Informacje o wydaniu |
|---|---|
Microsoft.Data.SqlClient.Extensions.Azure |
Notatki dotyczące wydania rozszerzenia Azure |
Microsoft.Data.SqlClient.Extensions.Abstractions |
Informacje o wersji abstrakcji rozszerzeń |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Azure Key Vault Provider release notes |
Nie odwołuj się bezpośrednio do Microsoft.Data.SqlClient.Internal.Logging. To wewnętrzna zależność współdzielona przez pakiety sterowników.
Oceń aktualizację
- Zidentyfikuj każdy sterownik oraz opcjonalną wersję pakietu używaną bezpośrednio lub przechodnie.
- Przeczytaj informacje o wydaniu dla każdej wersji pomniejszej i głównej, przez którą przechodzi aktualizacja.
- Sprawdź cykl wsparcia sterowników SqlClient pod kątem kompatybilności docelowego frameworka i bazy danych.
- Zaktualizuj wszystkie powiązane pakiety do kompatybilnych wersji.
- Zbuduj i testuj uwierzytelnianie, szyfrowanie, pulowanie połączeń, parametry, transakcje, powtórki, diagnostykę oraz wyniki wdrożenia.
Aby uzyskać polecenia instalacyjne i wdrożeniowe, zobacz Install, aktualizuj i wdrażaj Microsoft. Data.SqlClient.