Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Microsoft.Data.SqlClient didistribusikan secara terpisah dari .NET. Artikel ini merangkum fitur signifikan, perubahan perilaku, dan perubahan kompatibilitas di setiap lini rilis. Tabel rilis mencakup setiap publikasi paket stabil, termasuk setiap hotfix dan paket yang tidak terdaftar. Untuk setiap perbaikan dan pembaruan ketergantungan, lihat catatan rilis lengkap di repositori SqlClient.
Rilis saat ini
| Lini rilis | Versi terbaru | Tanggal rilis | Support |
|---|---|---|---|
| 7.0 | 7.0.3 | September 2026 | Dukungan Jangka Waktu Standar (STS) |
| 6.1 | 6.1.7 | September 2026 | Dukungan Jangka Panjang (LTS) |
| Pratinjau 7.1 | 7.1.0-preview3.26238.4 | Agustus 2026 | Tinjauan |
Jangan gunakan rilis pratinjau saat produksi. API Pratinjau dan perilakunya dapat berubah sebelum Ketersediaan Umum (GA).
Tabel rilis dan ringkasan ketersediaan umum menggunakan bulan publikasi NuGet. Artikel siklus hidup mencantumkan tanggal rilis resmi, yang bisa berbeda-beda. Untuk jendela dukungan, lihat siklus hidup dukungan driver SqlClient.
7.1 Pratinjau
Lini pratinjau 7.1 memperluas dukungan untuk pemrosesan batch, penemuan skema, pengumpulan koneksi, dan API Always Encrypted. Perubahan hingga 7.1.0-preview3 meliputi:
-
SqlBatchdukungan pada .NET Framework. - Kelebihan beban asinkron.
SqlConnection.GetSchemaAsync - Alias string koneksi seperti
ColumnEncryption, , ,FailoverPartnerPacketSize, danWorkstationIdConnectTimeout. - Pemetaan pseudo-kolom SQL Graph untuk
$node_id,$edge_id,$from_id, dan$to_iddiSqlBulkCopy. - Penegakan batas waktu idle koneksi opsional.
- Mode batas waktu koneksi opt-in yang mencakup waktu yang dihabiskan untuk menunggu koneksi dari pool.
- Pengembangan lebih lanjut dari kolam koneksi berbasis saluran eksperimental.
- Metode asinkron pada penyedia penyimpanan kunci Always Encrypted. Driver belum memanggil metode ini selama eksekusi perintah, sehingga mereka tidak membuat operasi Always Encrypted yang ada menjadi asinkron.
SqlBatchCommand.CommandBehavior merasa terhormat memulai di lini ini. Versi sebelumnya mengabaikan properti ini. Opsi koneksi Type System Version=SQL Server 2000 yang sudah usang sekarang memunculkan ArgumentException.
Preview3 juga mengubah validasi sertifikat dan enclave.
ServerCertificate selalu membandingkan file sertifikat yang dikonfigurasi dengan sertifikat yang disajikan oleh server. File yang tidak valid atau tidak dapat dibaca sekarang menyebabkan koneksi gagal alih-alih beralih ke validasi nama host. Virtual Secure Mode (VSM) dan Host Guardian Service (HGS) atestasi enklave kini memverifikasi bahwa kunci publik enklave terikat pada laporan atestasi yang ditandatangani. Uji ulang jalur-jalur ini saat Anda berpindah dari pratinjau sebelumnya.
Baca catatan rilis untuk preview1, preview2, dan preview3 sebelum menguji baris ini.
7.0 STS
Versi 7.0 tersedia secara umum pada Maret 2026. Ini adalah lini STS saat ini.
Fitur dan perubahan
- Autentikasi Microsoft Entra yang disediakan driver dipindahkan dari paket inti ke
Microsoft.Data.SqlClient.Extensions.Azure. Tambahkan paket ekstensi saat Anda menggunakanDirektori Aktifmode autentikasi. - Paket inti tidak lagi bergantung pada
Azure.Core,Azure.Identity, atau Pustaka Autentikasi Microsoft (MSAL). -
SqlConnection.SspiContextProvidermendukung negosiasi token Kerberos dan NTLM kustom. Identitas penyedia adalah bagian dari kunci kumpulan koneksi. - Perutean yang disempurnakan untuk Azure SQL Hyperscale dan replika baca bernama dinegosiasikan secara otomatis.
- Event diagnostik perintah, koneksi, dan transaksi yang diketik kuat tersedia di .NET Framework dan .NET saat ini.
-
SqlConfigurableRetryFactory.BaselineTransientErrorsMenampilkan daftar kesalahan transien default pada driver. -
Direktori Aktif PasswordOtentikasi sudah usang. Gunakan autentikasi interaktif untuk aplikasi pengguna, autentikasi prinsipal layanan untuk layanan, atau identitas terkelola untuk beban kerja yang dihosting Azure. - Dukungan target dimulai dari .NET Framework 4.6.2 dan .NET 8. Driver ini juga mendukung pembangunan dan menjalankan di .NET 10.
Multiplexing paket untuk pembacaan asinkron tetap merupakan fitur pratinjau dan bersifat opt-in pada versi 7.0. Uji pengaturan kompatibilitas pada beban kerja produksi dan siapkan jalur pemulihan.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 7.0.0 | Maret 2026 | Rilis ketersediaan umum. |
| 7.0.1 | April 2026 | Memperbaiki kueri metadata SqlBulkCopy untuk SQL Server 2016 dan kumpulan SQL khusus Azure Synapse Analytics, memperbaiki metadata field vektor, menambahkan dependensi .NET Framework System.Data.Common yang sebelumnya hilang, dan menambahkan penerusan tipe untuk abstraksi autentikasi. |
| 7.0.2 | Juni 2026 | Menyelaraskan driver inti dan paket pendamping, memperkuat penguraian token TDS, memperbaiki penanganan cache verifikasi tanda tangan Always Encrypted, dan memperbaiki kesalahan dalam panggilan pembatalan dan panggilan buffer null GetBytes dan GetChars. |
| 7.0.3 | September 2026 | SNI diperbarui ke 6.0.3. Memperbaiki regresi pada login yang tidak dapat membaca sys.all_columns, regresi alokasi memori saat pelacakan dinonaktifkan, validasi ServerCertificate pada managed SNI, verifikasi kunci pengesahan enclave Always Encrypted, dan percobaan ulang yang dapat dikonfigurasi saat mendaftarkan penangan resolusi assembly untuk seluruh proses. |
Important
Mulai dari 7.0.2, selaraskan referensi langsung ke Microsoft.Data.SqlClient, Microsoft.Data.SqlClient.Extensions.Azure, Microsoft.Data.SqlClient.Extensions.Abstractions, dan Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider. Biarkan Microsoft.Data.SqlClient.Internal.Logging diresolusikan secara transitif. Pada .NET Framework, versi assembly untuk Extensions.Azure, Internal.Logging, dan 1.0.0.0 diubah dari 7.0.0.0 menjadi Extensions.Abstractions. Bangun ulang aplikasi atau tambahkan pengalihan binding saat Anda memperbarui paket-paket ini.
6.1 LTS
Versi 6.1.0 dirilis pada Juli 2025, namun kemudian dihapus daftar karena regresi kritis. Versi 6.1.1, yang dirilis pada Agustus 2025, menetapkan lini LTS 6.1 yang didukung.
Fitur dan perubahan
- Transpor vektor native SQL Server 2025 melalui
SqlVector<T>, awalnya untuk vektor titik-mengambang presisi tunggal. - Aset referensi .NET Standard 2.0 untuk kompatibilitas pustaka. Aset ini bukan implementasi runtime. Aplikasi eksekusi harus menggunakan aset runtime .NET atau .NET Framework yang didukung.
- Dukungan untuk multipleks paket opt-in bagi pembacaan asinkron skala besar dan penanganan endpoint untuk database SQL di Microsoft Fabric.
- Dukungan kompilasi Advance-of-Time (AOT) asli yang ditingkatkan.
- Mengurangi alokasi pada jalur koneksi dan pemrosesan TDS.
- Dasar internal untuk ekstensibilitas Public Security Support Provider Interface (SSPI) ditambahkan di versi 7.0.
Jangan deploy versi 6.1.0. Versi 6.1.1 mengembalikan perubahan pada deteksi paket dan pemutaran ulang yang terdampak.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 6.1.0 | Juli 2025 | Rilis ketersediaan umum. Paket ini tidak tercantum karena regresi kritis. Jangan gunakan itu. |
| 6.1.1 | Agustus 2025 | Perubahan deteksi paket parsial, penyesuaian, dan replay dari versi 6.1.0 telah dibatalkan. Memperbaiki rakitan referensi vektor dan SqlVector<T>.Null. |
| 6.1.2 | Oktober 2025 | Inisialisasi penghitung kinerja awal diperbaiki, penggantian penyedia otentikasi khusus, dan konkurensi pool yang mencegah penggunaan ukuran pool maksimum yang telah dikonfigurasi. |
| 6.1.3 | November 2025 | Ditambahkan IgnoreServerProvidedFailoverPartner untuk Grup Ketersediaan Dasar dan port kustom. Inisialisasi metrik EventSource awal telah diperbaiki. |
| 6.1.4 | Januari 2026 | Ditambahkan EnableMultiSubnetFailoverByDefault. Memperbaiki kegagalan batching SqlDataAdapter dan jumlah koneksi aktif yang negatif dalam metrik pool. |
| 6.1.5 | April 2026 | Menghapus pemrosesan Service Principal Name (SPN) dan Domain Name System (DNS) yang tidak diperlukan untuk autentikasi non-terintegrasi, membuat ExecuteScalar mempropagasikan kesalahan server yang dikembalikan setelah data, dan memperbaiki tipe metadata vektor. |
| 6.1.6 | Juni 2026 | Menambahkan dukungan broker Windows Web Account Manager (WAM) opsional, memperketat penguraian token TDS, memperbaiki kegagalan tanda tangan kunci master kolom yang di-cache, dan memperbaiki validasi argumen GetChars. |
| 6.1.7 | September 2026 | SNI diperbarui ke 6.0.3. Memperbaiki validasi ServerCertificate pada SNI terkelola, verifikasi kunci attestasi enclave Always Encrypted, perilaku percobaan ulang koneksi AccessTokenCallback, dan percobaan ulang yang dapat dikonfigurasi untuk mendaftarkan penangan resolusi assembly di seluruh proses. |
Lini rilis sebelumnya
Baris rilis berikut tidak lagi didukung. Gunakan ringkasan mereka saat Anda merencanakan peningkatan di beberapa versi driver.
6.0
Versi 6.0 tersedia secara umum pada Januari 2025. Patch terakhir adalah 6.0.5, dirilis pada Januari 2026.
- Menambahkan dukungan JSON SQL Server asli melalui
Microsoft.Data.SqlTypes.SqlJson, termasuk jalur baca, tulis, streaming, dan salinan massal. - Menambahkan payload diagnostik publik bertipe ketat untuk peristiwa perintah, koneksi, dan transaksi.
- Ditambahkan
OpenAsync(SqlConnectionOverrides, CancellationToken), termasukOpenWithoutRetry. - Menambahkan dukungan
DateOnlydanTimeOnlypada parameter terstrukturDataTabledanSqlDataRecord. - Dukungan .NET 9 telah ditambahkan.
- Menghapus aset runtime .NET Standard dan .NET 6. Target yang didukung menjadi .NET Framework 4.6.2 dan versi berikutnya serta .NET 8 dan versi berikutnya.
- Dibatasi
EnableOptimizedParameterBindinghanya untuk perintah teks.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 6.0.0 | Januari 2025 | Rilis ketersediaan umum. Paket ini tidak terdaftar di NuGet, dan catatan upstream tidak mendokumentasikan alasan. |
| 6.0.1 | Januari 2025 | API referensi SqlClientDiagnostic , peringatan TLS tingkat bawah, dan dependensi yang telah diperbaiki. |
| 6.0.2 | April 2025 | Memperbaiki kemungkinan kegagalan null pada penerimaan soket, API referensi SqlJson, parameter output JSON, dan dependensi. |
| 6.0.3 | Oktober 2025 | Mencegah penggantian penyedia autentikasi khusus dan memperbaiki konkurensi pool yang kurang memanfaatkan Max Pool Size. |
| 6.0.4 | November 2025 | Ditambahkan Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner untuk Grup Ketersediaan Dasar yang menggunakan port TCP khusus. |
| 6.0.5 | Januari 2026 | Memperbaiki penanganan null pada batch RPC SqlDataAdapter, menambahkan Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault, dan memperbarui dependensi. |
5.2
Versi 5.2 mencapai ketersediaan umum pada Februari 2024. Patch terakhir adalah 5.2.3, dirilis pada April 2025.
- Ditambahkan
SqlConnection.AccessTokenCallbackuntuk akuisisi token asinkron dan kompatibel dengan pool. - Ditambahkan
SqlBatchdanSqlBatchCommanddi .NET 6 dan versi setelahnya. - Menambahkan dukungan
SqlDiagnosticListeneruntuk .NET Standard. - Ditambahkan 64-bit
SqlBulkCopy.RowsCopied64. Properti lamaRowsCopiedtetap merupakan bilangan bulat 32-bit. - Menambahkan autentikasi
Direktori Aktif Workload Identity. - Menambahkan dukungan .NET 8 dan platform big-endian.
- Diubah
UseOneSecFloorInTimeoutCalculationDuringLoginmenjadi default ketrue. - Digunakan
NegotiateAuthenticationuntuk SSPI yang dikelola pada .NET 7 dan versi yang lebih baru.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 5.2.0 | Februari 2024 | Rilis ketersediaan umum. |
| 5.2.1 | Mei 2024 | Memperbaiki koneksi instans bernama Linux dengan port, FireInfoMessageEventOnUserErrors, parameter bernilai tabel datetimeoffset(n), OpenAsync yang tertunda, dan preservasi AccessTokenCallback oleh SqlConnection.Clone(). |
| 5.2.2 | Agustus 2024 | Memperbaiki timeout token, koneksi soket SNI terkelola, penargetan assembly, percobaan ulang SSPI, pembacaan tipe yang ditentukan pengguna, dan data pembaca terenkripsi. Paket identitas yang diperbarui untuk CVE-2024-35255. |
| 5.2.3 | April 2025 | Memperbaiki kemungkinan kegagalan null penerimaan soket dan inkonsistensi rakitan referensi, mengizinkan angka kesalahan transien negatif, dan memperbarui ketergantungan. |
5.1
Versi 5.1 tersedia secara umum pada Januari 2023. Patch terakhir adalah 5.1.9, dirilis pada Januari 2026.
- Menambahkan dukungan .NET 6 dan menghapus .NET Core 3.1.
- Menambahkan dukungan
DateOnlydanTimeOnlyuntuk nilai parameter danGetFieldValue. - Menambahkan TLS 1.3 pada .NET dan jalur native SQL Server Network Interface (SNI).
- Ditambahkan
ServerCertificateuntuk pencocokan sertifikat yang tepat denganEncrypt=MandatorydanEncrypt=Strict. - Dukungan Windows ARM64 untuk .NET Framework telah ditambahkan.
- Menjadikan parser string
SqlConnectionEncryptOptionpublik. - Versi 5.1.3 memperbaiki jalur penurunan kualitas enkripsi CVE-2024-0056 dan validasi rantai sertifikat.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 5.1.0 | Januari 2023 | Rilis ketersediaan umum. |
| 5.1.1 | Maret 2023 | Memperbaiki pelaporan kesalahan Always Encrypted, transaksi mode pengalihan, pembatasan token, kegagalan RPC TDS pada kueri besar, dan penanganan null GetBytesAsync. |
| 5.1.2 | Oktober 2023 | Memperbaiki instans pengguna SQL Express, percobaan ulang enklave, LocalDB, nilai pembangun string koneksi, konversi konfigurasi SqlConnectionEncryptOption, dan kesalahan sementara OpenAsync. |
| 5.1.3 | Januari 2024 | CVE-2024-0056 dan validasi rantai sertifikat telah diperbaiki. |
| 5.1.4 | Januari 2024 | Memperbaiki kebuntuan transaksi terdistribusi .NET dan memutakhirkan Azure.Identity untuk mengatasi CVE-2023-36414. |
| 5.1.5 | Januari 2024 | Memperbaiki pembersihan transaksi sebelum pooling dan kegagalan konversi tanggal dan waktu yang selalu dienkripsi. Memperbarui dependensi IdentityModel untuk CVE-2024-21319. |
| 5.1.6 | Agustus 2024 | Memperbaiki OpenAsync, batas waktu autentikasi, dan kegagalan data tertunda pada pembaca terenkripsi. Dependensi identitas yang diperbarui untuk CVE-2024-35255 dan instans TokenCredential yang di-cache. |
| 5.1.7 | April 2025 | Memperbaiki kemungkinan kegagalan null soket-penerima, menyelaraskan rakitan sumber dan referensi, serta memperbarui ketergantungan. |
| 5.1.8 | November 2025 | Menambahkan Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner, memperbaiki penanganan byte order mark (BOM) UTF-8 dalam penyalinan massal, memodernkan pembuatan MSAL, dan memperbarui dependensi. |
| 5.1.9 | Januari 2026 | Memindahkan pengaturan waktu SqlStatistics ke Environment.TickCount dan memperbarui dependensi khusus kerangka kerja. |
5.0
Versi 5.0 tersedia secara umum pada Agustus 2022. Patch terakhir adalah 5.0.2, dirilis pada Maret 2023.
- Ditambahkan TDS 8.0 hingga
Encrypt=Strict. Mode Strict memulai TLS sebelum pertukaran login TDS dan selalu memvalidasi sertifikat server. - Diubah
SqlConnectionStringBuilder.EncryptdariboolmenjadiSqlConnectionEncryptOption. - Memindahkan tipe common language runtime (CLR) SQL Server ke paket versi
Microsoft.SqlServer.Serverterpisah. - Menambahkan opsi koneksi
Server SPNdanFailover Server SPN. - Menambahkan dukungan alias Windows SQL Server pada .NET saat ini.
- Ditambahkan
SqlDataSourceEnumeratordi Windows. - .NET Framework 4.6.1 telah dihapus.
Important
Perubahan tipe SqlConnectionStringBuilder.Encrypt merusak kompatibilitas biner. Tipe yang dihapus dari Microsoft.Data.SqlClient.Server juga memerlukan perubahan sumber untuk digunakan Microsoft.SqlServer.Server. Kompilasi ulang aplikasi dan pustaka, perbarui namespace, dan periksa konflik namespace saat System.Data.SqlClient masih direferensikan.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 5.0.0 | Agustus 2022 | Rilis ketersediaan umum. |
| 5.0.1 | Oktober 2022 | Memulihkan HostNameInCertificate pada .NET Framework dan memperbaiki deadlock perhatian, SqlConnectionStringBuilder.Encrypt, pendaftaran pembatalan, hang SNI terkelola, kolasi UTF-8, dan crash domain aplikasi pada SNI. |
| 5.0.2 | Maret 2023 | Memperbaiki kebocoran memori pada pembacaan asinkron, mode pengalihan TransactionScope, kesalahan Always Encrypted, kegagalan RPC TDS pada kueri berukuran besar, dan kebuntuan transaksi terdistribusi. |
4.1
Versi 4.1 tersedia secara umum pada Januari 2022. Patch terakhir adalah 4.1.1, dirilis pada September 2022.
- Ditambahkan
Attestation Protocol=Noneuntuk enklave Keamanan berbasis virtualisasi (VBS). - Permintaan Protokol Resolusi SQL Server yang Paralel di Linux dan macOS saat
MultiSubnetFailoverdiaktifkan. - Memperbaiki pemeriksaan daftar pencabutan sertifikat saat autentikasi.
- Memperbaiki autentikasi Microsoft Entra, nilai null
SqlBinarydan rowversion, serta perilaku kolasi UTF-8.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 4.1.0 | Januari 2022 | Rilis ketersediaan umum. |
| 4.1.1 | September 2022 | Memperbaiki kegagalan daftar pencabutan sertifikat, memparalelkan permintaan Protokol Resolusi SQL Server untuk MultiSubnetFailover, dan mengoreksi kegagalan pada autentikasi Microsoft Entra, rowversion, UTF-8, dan domain aplikasi SNI. |
4.0
Versi 4.0 mencapai ketersediaan umum pada November 2021. Patch terakhir adalah 4.0.6, dirilis pada Agustus 2024.
- Mengubah nilai
Encryptdefault dari darifalseketrue. - Ditambahkan
SqlCommand.EnableOptimizedParameterBindinguntuk perintah dengan banyak parameter. - Ditambahkan
SqlFileStreamuntuk Windows melalui implementasi .NET Standard. - Menambahkan dukungan instance LocalDB bersama di SNI yang dikelola.
- Ditambahkan
GetFieldValue<T>danGetFieldValueAsync<T>untukXmlReader,TextReader, danStream. - Menghapus saklar pengaman dari logika percobaan ulang yang dapat dikonfigurasi. Coba ulang tetap dinonaktifkan sampai sebuah aplikasi mengonfigurasi penyedia.
- Kegagalan autentikasi Microsoft Entra diubah agar memunculkan
SqlExceptionalih-alihAggregateException. - .NET Core 2.1 dihapus.
- Versi 4.0.5 memperbaiki jalur downgrade enkripsi CVE-2024-0056 dan validasi rantai sertifikat.
Important
Karena enkripsi default digunakan true pada versi 4.0 dan versi yang lebih baru, peningkatan dapat mengungkap ketidaksesuaian kepercayaan sertifikat atau nama server. Jangan nonaktifkan enkripsi untuk mengatasi kesalahan ini. Instal sertifikat server tepercaya atau konfigurasikan validasi sertifikat untuk penerapan.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 4.0.0 | November 2021 | Rilis ketersediaan umum. |
| 4.0.1 | Januari 2022 | Ditambahkan SuppressInsecureTLSWarning dan diperbaiki Kerberos di .NET 6, nama pipe LocalDB, serta kueri enclave yang berjalan bersamaan. |
| 4.0.2 | September 2022 | Memperbaiki kegagalan daftar pencabutan sertifikat, memparalelkan permintaan SQL Server Resolution Protocol untuk MultiSubnetFailover, dan memperbaiki kegagalan pada autentikasi Microsoft Entra, rowversion, UTF-8, dan domain aplikasi SNI. |
| 4.0.3 | April 2023 | Mengurangi pembatasan token akun yang di-cache dan memperbaiki kegagalan RPC TDS pada kueri besar. |
| 4.0.4 | Oktober 2023 | Memperbaiki percobaan ulang enklave asinkron, fallback LocalDB dan SNI terkelola, versi file, dan korelasi aktivitas koneksi. |
| 4.0.5 | Januari 2024 | CVE-2024-0056 dan validasi rantai sertifikat telah diperbaiki. |
| 4.0.6 | Agustus 2024 | Memperbaiki pembersihan peristiwa transaksi sebelum pooling dan penanganan ActiveDirectoryAuthenticationProvider.AcquireTokenAsync waktu habis. |
3.1
Versi 3.1 tersedia secara umum pada Maret 2022. Patch terakhir adalah 3.1.7, dirilis pada Agustus 2024.
- Ditambahkan
Attestation Protocol=Noneuntuk enclave VBS. - Menambahkan kesalahan SQL 42108 dan 42109 ke daftar kesalahan transien default.
- Menambahkan dukungan Windows ARM64 untuk .NET Framework di 3.1.2.
- Mengurangi permintaan token Microsoft Entra yang berulang melalui perolehan token secara senyap di versi 3.1.3.
- Jalur penurunan enkripsi CVE-2024-0056 telah diperbaiki di versi 3.1.5.
- Memperbaiki pembersihan transaksi sebelum pooling dan penanganan timeout token Microsoft Entra di 3.1.7.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 3.1.0 | Maret 2022 | Rilis ketersediaan umum. |
| 3.1.1 | Agustus 2022 | Memperbaiki nilai SqlBinaryrowversion null, kegagalan Kerberos di .NET 6, dan kegagalan referensi null pada autentikasi Microsoft Entra. |
| 3.1.2 | Februari 2023 | Menambahkan dukungan .NET Framework Windows ARM64 dan memperbaiki keamanan thread pada daftar percobaan ulang, deadlock transaksi terdistribusi, kolasi UTF-8, dan validasi prosedur tersimpan. |
| 3.1.3 | Maret 2023 | Mengurangi pembatasan token Microsoft Entra dengan AcquireTokenSilent dan memperbaiki kegagalan RPC TDS pada kueri besar. |
| 3.1.4 | Oktober 2023 | Memperbaiki pengulangan enclave asinkron, LocalDB dan SNI fallback terkelola, versi file, korelasi aktivitas koneksi, dan format EventSource. |
| 3.1.5 | Januari 2024 | CVE-2024-0056 dan validasi rantai sertifikat telah diperbaiki. |
| 3.1.6 | Agustus 2024 | Paket ini tidak ditandatangani dengan benar dan tidak terdaftar. Tidak ada file catatan rilis upstream. Gunakan versi 3.1.7 sebagai gantinya. |
| 3.1.7 | Agustus 2024 | Memperbaiki pembersihan peristiwa transaksi sebelum penggabungan, waktu habis autentikasi, penandatanganan assembly, dan kerusakan domain aplikasi SNI. |
3.0
Versi 3.0 tersedia secara umum pada Juni 2021. Patch terakhir adalah 3.0.1, dirilis pada September 2021.
- Menambahkan logika retry yang dapat dikonfigurasi untuk operasi koneksi dan perintah. Pada versi 3.0, fitur ini tetap bersifat opsional di balik
Switch.Microsoft.Data.SqlClient.EnableRetryLogic. - Menambahkan EventCounters untuk aktivitas koneksi dan kumpulan.
- Menambahkan autentikasi
Direktori Aktif DefaultmelaluiAzure.Identity. - Menambahkan registrasi penyedia penyimpanan kunci Always Encrypted dengan cakupan koneksi dan cakupan perintah.
- Preferensi alamat IP TCP ditambahkan.
- Mengubah autentikasi identitas terkelola yang ditugaskan pengguna untuk menggunakan ID klien alih-alih ID objek di
User Id. - Mengubah nilai null SQL rowversion untuk mengembalikan
DBNullalih-alih array byte kosong. Pengaturan AppContext mempertahankan perilaku sebelumnya. - Target minimum .NET Framework dinaikkan dari 4.6 menjadi 4.6.1.
Penyedia penyimpanan kunci sistem didahulukan daripada penyedia yang terdaftar pada koneksi atau perintah mulai versi 3.0. Ganti nama penyedia kustom jika namanya bertentangan dengan penyedia bawaan.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 3.0.0 | Juni 2021 | Rilis ketersediaan umum. |
| 3.0.1 | September 2021 | Memperbaiki blokir pembukaan koneksi Microsoft Entra, status promosi transaksi, enkripsi yang diperlukan, rekursi ulang dan deadlock, serta koneksi yang tidak dapat digunakan. |
2.1
Versi 2.1 tersedia secara umum pada November 2020. Patch terakhir adalah 2.1.7, dirilis pada Januari 2024.
- Diperluas Selalu Terenkripsi ke platform .NET Standard 2.0 yang didukung.
- Menambahkan dukungan enklave aman pada Unix untuk .NET Core dan di berbagai platform .NET Standard 2.1.
- Menambahkan
Direktori Aktif Device Code Flowdan mengelola autentikasi identitas. - Menambahkan titik kustomisasi untuk autentikasi interaktif dan autentikasi kode perangkat.
- Menambahkan metadata peringkat klasifikasi sensitivitas.
- Ditambahkan
SqlConnection.ServerProcessId. - Menambahkan opsi koneksi
Command Timeoutsebagai opsi bawaan untuk perintah yang dibuat melalui koneksi. - Versi 2.1.7 memperbaiki jalur penurunan tingkat enkripsi pada CVE-2024-0056.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 2.1.0 | November 2020 | Rilis ketersediaan umum. |
| 2.1.1 | Desember 2020 | Identitas terkelola yang ditetapkan sistem telah diperbaiki di Azure Functions, Unix Kerberos, dan TCP keep-alive. |
| 2.1.2 | Maret 2021 | Memperbaiki instance bernama di Unix, hasil timeout yang keliru, pemrosesan DTD yang tidak aman, SPN Kerberos, dependensi cache yang hilang, pelacakan, dan header MARS. |
| 2.1.3 | Mei 2021 | Mencegah kerusakan data transaksi pada kumpulan hasil yang terbuka dan memperbaiki kondisi balapan antara SinglePhaseCommit dan TransactionEnded. |
| 2.1.4 | September 2021 | Memastikan koneksi gagal saat enkripsi diperlukan dan memperbaiki koneksi yang masuk ke kondisi tidak dapat digunakan. |
| 2.1.5 | Agustus 2022 | Menambahkan validasi panjang stored procedure CommandText dan memperbaiki autentikasi Kerberos .NET 6 serta SqlTypeWorkarounds. |
| 2.1.6 | April 2023 | Memperbaiki kegagalan RPC TDS pada kueri besar di SqlCommand.ExecuteReaderAsync, konflik kolasi UTF-8 bawaan, dan deadlock saat mengirim attention. |
| 2.1.7 | Januari 2024 | CVE-2024-0056 dan validasi rantai sertifikat telah diperbaiki. |
2.0
Versi 2.0 tersedia secara umum pada Juni 2020. Patch terakhir adalah 2.0.1, dirilis pada Agustus 2020.
- Menambahkan autentikasi
Direktori Aktif IntegrateddanDirektori Aktif Interactiveuntuk .NET Core dan .NET Standard. - Menambahkan autentikasi
Direktori Aktif Service Principal. - Menambahkan
Microsoft.Data.SqlClient.EventSourcepelacakan tambahan. - Menambahkan fitur TCP keep-alive lintas platform dan implementasi jaringan terkelola opsional di Windows untuk pengujian dan penelusuran kesalahan. Jalur terkelola tidak mendukung autentikasi Windows bukan domain.
- Menambahkan
SqlBulkCopy.RowsCopieddan memesan petunjuk salinan massal. - Ditambahkan
SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry). - Dukungan untuk Windows ARM ditambahkan melalui dependensi
Microsoft.Data.SqlClient.SNI.runtime. - Mulai memvalidasi sertifikat server ketika server memaksa enkripsi, termasuk saat string koneksi mengatur
Encrypt=false. Koneksi dapat gagal setelah peningkatan ini jika sertifikat tidak dipercaya atau namanya tidak sesuai dengan server. - Mengubah penanganan skala parameter desimal untuk menggunakan pembulatan yang kompatibel dengan SQL Server.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 2.0.0 | 2020 Juni | Rilis ketersediaan umum. |
| 2.0.1 | Agustus 2020 | Menambahkan konfigurasi autentikasi yang mendukung koeksistensi serta memperbaiki kedaluwarsa token gabungan, penanganan gangguan sementara, penembolokan enclave, dan kesalahan pra-login SNI asli. |
1.1
Versi 1.1 mencapai ketersediaan umum pada November 2019. Patch terakhir adalah 1.1.4, dirilis pada Maret 2021.
- Ditambahkan Selalu Terenkripsi dengan enklave aman pada target .NET Framework dan .NET Core yang didukung.
- Menambahkan
|DataDirectory|ekspansi padaAttachDBFilename.NET Core. - Peningkatan pembacaan asinkron dengan cache buffer target multipaket.
- Pengurangan overhead snapshot di
TdsParserStateObjectdanSqlDataReader. - Memperbaiki kesalahan header timeout-state dan Multiple Active Result Sets (MARS) pada patch selanjutnya.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 1.1.0 | November 2019 | Rilis ketersediaan umum. |
| 1.1.1 | Februari 2020 | Membatalkan perubahan asinkron SNIPacket yang menyebabkan deadlock dan memperbaiki rentang dependensi SNI. |
| 1.1.2 | April 2020 | Menambahkan nama pengguna untuk autentikasi Direktori Aktif Interactive serta memperbaiki persistensi kata sandi dan header MARS TDS. |
| 1.1.3 | 2020 Mei | Mencegah transaksi yang dibatalkan untuk mengaktifkan koneksi pooled dan membatalkan perbaikan header MARS regresif. |
| 1.1.4 | Maret 2021 | Memperbaiki hasil yang salah terkait status timeout dan kesalahan header MARS pada .NET Framework 4.8 dan versi yang lebih baru. |
1.0
Microsoft. Data.SqlClient 1.0 mencapai ketersediaan umum pada Agustus 2019. Patch terakhir adalah 1.0.19269.1, dirilis pada September 2019.
- Memperkenalkan provider
Microsoft.Data.SqlClientyang didistribusikan secara terpisah. - Mendukung .NET Framework 4.6 dan versi yang lebih baru, .NET Core 2.1 dan versi yang lebih baru, serta .NET Standard 2.0.
- Menambahkan autentikasi
Direktori Aktif Interactivepada .NET Framework. - Menambahkan autentikasi
Direktori Aktif Passworddi .NET Core. - Menambahkan metadata klasifikasi sensitivitas data pada
SqlDataReader. - Dukungan kolasi UTF-8 SQL Server 2019 telah ditambahkan.
- Dukungan Always Encrypted ditambahkan pada .NET Core.
Rilis
| Versi | Diluncurkan | Perubahan yang relevan dengan pelanggan |
|---|---|---|
| 1.0.19239.1 | Agustus 2019 | Rilis ketersediaan umum. Memperbaiki penggunaan ulang koneksi setelah kegagalan transaksi, penerbitan SNI, penanganan mode globalization-invariant, dan perluasan nilai null pada penyalinan massal. |
| 1.0.19249.1 | September 2019 | Memperbaiki pembacaan data multipaket besar di Unix. |
| 1.0.19269.1 | September 2019 | Memulihkan SqlCommand.StatementCompleted, menambahkan SqlConnectionStringBuilder.Authentication yang hilang, dan mengembalikan perubahan API SqlAuthenticationParameters.Resource yang tidak kompatibel. |
Untuk aplikasi yang berpindah dari penyedia lama, gunakan Migrate from System.Data.SqlClient ke Microsoft. Data.SqlClient daripada hanya membaca catatan rilis.
Catatan rilis paket opsional
Paket opsional memiliki catatan rilis sendiri. Mulai dari versi 7.0.2, mereka mengirimkan versi yang selaras dengan driver inti.
| Package | Catatan rilis |
|---|---|
Microsoft.Data.SqlClient.Extensions.Azure |
Catatan rilis ekstensi Azure |
Microsoft.Data.SqlClient.Extensions.Abstractions |
Catatan rilis untuk abstraksi ekstensi |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Catatan rilis Azure Key Vault Provider |
Jangan merujuk Microsoft.Data.SqlClient.Internal.Logging secara langsung. Ini adalah ketergantungan internal yang dibagikan oleh paket driver.
Mengevaluasi pembaruan
- Identifikasi setiap driver dan versi paket opsional yang digunakan langsung atau transitif.
- Baca catatan rilis untuk setiap versi minor dan mayor yang dilewati oleh pembaruan.
- Periksa siklus hidup dukungan driver SqlClient untuk kompatibilitas kerangka kerja target dan basis data.
- Perbarui semua paket terkait ke versi yang kompatibel.
- Bangun dan uji autentikasi aplikasi, enkripsi, pooling koneksi, parameter, transaksi, percobaan ulang, diagnostik, dan output penerapan.
Untuk perintah penginstalan dan penyebaran, lihat Menginstal, memperbarui, dan menyebarkan Microsoft.Data.SqlClient.