Microsoft。Data.SqlClient 獨立於 .NET 發佈。 本文總結了每個版本系列中的重要功能、行為變更及相容性變更。 發佈表包含所有穩定套件發佈,包括每個熱修正與未列出的套件。 關於每一次修正與相依性更新,請參閱 SqlClient 倉庫中的完整版本說明。
目前釋出版本
| 發行線 | 最新版本 | 發行日期 | Support |
|---|---|---|---|
| 7.0 | 7.0.3 | 2026 年 9 月 | 標準定期扶養(STS) |
| 6.1 | 6.1.7 | 2026 年 9 月 | 長期支援 (LTS) |
| 7.1 預覽 | 7.1.0-preview3.26238.4 | 2026 年 8 月 | Preview |
不要在生產環境中使用預覽版本。 預覽 API 與行為可在正式上市(GA)前改變。
發布表與一般可用性摘要使用 NuGet 出版月份。 生命週期文章列出了官方發行日期,但日期可能有所不同。 關於支援視窗,請參見 SqlClient 驅動程式支援生命週期。
7.1 預覽
7.1 預覽版擴展了批次處理、結構發現、連線池以及 Always Encrypted API。 7.1.0-preview3 之前的變更包括:
-
SqlBatch支援 .NET 框架。 - 非同步
SqlConnection.GetSchemaAsync過載。 - 連接字串別名如
ColumnEncryption、ConnectTimeout、WorkstationIdFailoverPartnerPacketSize。 - SQL 圖對 、
$node_id$edge_id、$from_id、$to_id及 的SqlBulkCopy偽欄映射。 - 選擇加入連線的閒置超時執行。
- 一種選擇加入的連線逾時模式,包含等待合併連線的時間。
- 實驗性通道連接池的進一步發展。
- Always Encrypted 金鑰儲存提供者的非同步方法。 驅動程式尚未在指令執行時呼叫這些方法,因此不會讓現有的「始終加密」操作變成非同步。
SqlBatchCommand.CommandBehavior 從這條線開始被尊崇。 早期版本忽略了這個特性。 這個過時 Type System Version=SQL Server 2000 的連線選項現在會拋出一個 ArgumentException.
Preview3 也改變了憑證和 enclave 驗證。
ServerCertificate 總是將已設定的憑證檔案與伺服器所呈現的憑證進行比較。 一個無效或無法讀取的檔案現在會失敗連線,而不是退回到主機名稱驗證。 虛擬安全模式(VSM)與主機守護服務(HGS)的飛區認證現在可驗證飛區公鑰是否綁定於簽署的認證報告。 當你從早期預覽移動時,請重新測試這些路徑。
在測試這條系列之前,請先閱讀 preview1、 preview2 和 preview3 的發行說明。
7.0 STS
7.0 版本於 2026 年 3 月正式推出。 這是目前的STS系列。
特色與變更
- 驅動程式提供的 Microsoft Entra 認證從核心套件移至
Microsoft.Data.SqlClient.Extensions.Azure. 使用Active Directory認證模式時加入擴充套件。 - 核心套件不再依賴
Azure.Core、 或Azure.IdentityMicrosoft 驗證資源庫(MSAL)。 -
SqlConnection.SspiContextProvider支援自訂 Kerberos 與 NTLM 令牌協商。 提供者身份是連線池金鑰的一部分。 - Azure SQL 超大規模及命名讀取副本的增強路由則是自動協商的。
- 強型別的指令、連線及交易診斷事件可在 .NET Framework 及目前的 .NET 中取得。
-
SqlConfigurableRetryFactory.BaselineTransientErrors會暴露驅動程式預設的暫態錯誤清單。 -
Active Directory Password認證已經過時。 使用者應用程式使用互動式認證,服務使用服務主體認證,Azure 託管工作負載則使用管理身份。 - 目標支援始於 .NET Framework 4.6.2 與 .NET 8。 驅動程式也支援在 .NET 10 上建置與執行。
非同步讀取的封包多工仍保留預覽功能,並在 7.0 版本中可選擇加入。 測試相容性與生產工作負載的切換,並保留回滾路徑。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 7.0.0 | 2026 年 3 月 | 正式上市。 |
| 7.0.1 | 2026 年 4 月 | SQL Server 2016 與 Azure Synapse Analytics 專用 SQL 池的固定SqlBulkCopy元資料查詢,修正向量場元資料,新增缺少的 .NET Framework System.Data.Common 相依性,並新增用於認證抽象的型別轉發。 |
| 7.0.2 | 2026 年 6 月 | 對齊核心驅動程式及配套套件,強化 TDS 令牌解析,修正 Always Encrypted 簽章驗證快取處理,並修正取消與空緩衝區GetBytesGetChars及呼叫錯誤。 |
| 7.0.3 | 2026 年 9 月 | SNI 更新至 6.0.3。 修正 SqlBulkCopy 了無法讀取 sys.all_columns登入的回歸、關閉追蹤時的記憶體分配回歸、 ServerCertificate 管理 SNI 的驗證、Always Encrypted enclave 證明金鑰驗證,以及可配置的重試註冊全程序組裝解決處理器。 |
Important
從 7.0.2 開始,將直接參考對齊到 Microsoft.Data.SqlClient、 Microsoft.Data.SqlClient.Extensions.Azure、 Microsoft.Data.SqlClient.Extensions.AbstractionsMicrosoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider和 。 設 Microsoft.Data.SqlClient.Internal.Logging 以傳遞方式解決。 在 .NET 框架中,組合語言版本Extensions.Azure的 、 Extensions.Abstractions、 Internal.Logging 從 改1.0.0.0為 7.0.0.0。 更新這些套件時,請重新建置應用程式或加入綁定重定向。
6.1 LTS
6.1.0 版本於 2025 年 7 月發布,但因關鍵迴歸問題後來未上架。 6.1.1 版本於 2025 年 8 月發布,確立了支援的 6.1 LTS 系列。
特色與變更
- 原生 SQL Server 2025 透過 向量傳輸
SqlVector<T>,最初用於單精度浮點向量。 - 一個用於函式庫相容性的 .NET Standard 2.0 參考資產。 這個資產不是執行時實作。 可執行應用程式必須使用支援的 .NET 或 .NET Framework 執行時資產。
- 在 Microsoft Fabric 中,為大型非同步讀取提供選擇加入封包多工處理,以及 SQL 資料庫端點處理。
- 提升原生預置時間(AOT)編譯支援。
- 減少連接與TDS處理路徑的分配。
- 7.0 新增的公共安全支援提供者介面(SSPI)擴充性內部基礎。
不要部署 6.1.0 版本。 6.1.1 版本還原了受影響的封包偵測與重播變更。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 6.1.0 | 2025年7月 | 正式上市。 此套件因關鍵迴歸而未被列入。 不要用它。 |
| 6.1.1 | 2025 年 8 月 | 從 6.1.0 開始,已回復部分封包偵測、修正與重播的變更。 修正向量參考組件與 SqlVector<T>.Null。 |
| 6.1.2 | 2025年10月 | 修正了早期效能計數器初始化、替換自訂認證提供者,以及無法使用設定的最大池大小的池並行性問題。 |
| 6.1.3 | 2025年11月 | 新增 IgnoreServerProvidedFailoverPartner 給基本可用性群組和自訂埠口。 修正了早期 EventSource 指標初始化。 |
| 6.1.4 | 2026年1月 | 新增 EnableMultiSubnetFailoverByDefault。 修正 SqlDataAdapter 了池中負面的批次失敗與負面活躍連線數量。 |
| 6.1.5 | 2026 年 4 月 | 移除了非整合驗證中不必要的服務主體名稱(SPN)與網域名稱系統(DNS)工作,讓 ExecuteScalar 伺服器在資料後回傳錯誤,並修正向量元資料類型。 |
| 6.1.6 | 2026 年 6 月 | 新增了選擇加入的 Windows 網頁帳戶管理器(WAM)經紀人支援、強化 TDS 令牌解析、修正快取欄位主鍵簽名失敗,以及修正GetChars參數驗證。 |
| 6.1.7 | 2026 年 9 月 | SNI 更新至 6.0.3。 固定 ServerCertificate 的受管理 SNI 驗證、Always Encrypted enclave 認證金鑰驗證、 AccessTokenCallback 連線重試行為,以及可配置重試註冊一個整個程序的組裝解決方案處理程序。 |
先前發行系列
以下的發行線已不再支援。 當你計劃跨多個驅動版本升級時,請參考他們的摘要。
6.0
6.0 版本於 2025 年 1 月正式上市。 最後一次更新是 6.0.5,於 2026 年 1 月釋出。
- 新增原生 SQL Server JSON 支援
Microsoft.Data.SqlTypes.SqlJson,包括讀寫、串流及批量複製路徑。 - 新增了用於指令、連線及交易事件的公開強型別診斷有效載荷。
- 新增
OpenAsync(SqlConnectionOverrides, CancellationToken),包括OpenWithoutRetry。 - 新增了支援
TimeOnlyDataTable,並SqlDataRecord有DateOnly結構化參數。 - 新增 .NET 9 支援。
- 放棄了 .NET Standard 和 .NET 6 執行環境資產。 支援的目標為 .NET Framework 4.6.2 及後續版本,以及 .NET 8 及以後版本。
- 僅限
EnableOptimizedParameterBinding於文字指令。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 6.0.0 | 2025年1月 | 正式上市。 這個套件在 NuGet 上沒有列出,上游的備註也沒有說明原因。 |
| 6.0.1 | 2025年1月 | 修正 SqlClientDiagnostic 參考 API、較低階的 TLS 警告與相依性。 |
| 6.0.2 | 2025年4月 | 修正可能的套接字-接收空失效、 SqlJson 參考 API、JSON 輸出參數及相依關係。 |
| 6.0.3 | 2025年10月 | 防止了被取代的自訂認證提供者和未充分利用 Max Pool Size的固定池並行。 |
| 6.0.4 | 2025年11月 | 新增 Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner 給使用自訂 TCP 埠的基本可用性群組。 |
| 6.0.5 | 2026年1月 | 修正 SqlDataAdapter 了批次 RPC 空處理,新增 Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault了 ,並更新了相依關係。 |
5.2
版本 5.2 於 2024 年 2 月正式推出。 最後一個補丁是 5.2.3,於 2025 年 4 月釋出。
- 新增
SqlConnection.AccessTokenCallback用於非同步、池相容的代幣擷取。 - 新增
SqlBatch並SqlBatchCommand支援 .NET 6 及更新版本。 - 新增
SqlDiagnosticListener對 .NET 標準的支援。 - 新增 64 位元
SqlBulkCopy.RowsCopied64。 舊RowsCopied屬性仍為 32 位元整數。 - 新增
Active Directory Workload Identity了認證。 - 新增 .NET 8 與大端序平台支援。
- 預設改
UseOneSecFloorInTimeoutCalculationDuringLogin為true。 - 用於
NegotiateAuthentication.NET 7 及更新版本的受管 SSPI。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 5.2.0 | 2024年2月 | 正式上市。 |
| 5.2.1 | 2024 年 5 月 | 固定 Linux 命名實例連線,包含埠、FireInfoMessageEventOnUserErrors、datetimeoffset(n) 表值參數、延遲 OpenAsync、 AccessTokenCallback 及由 保留。SqlConnection.Clone() |
| 5.2.2 | 2024 年 8 月 | 固定令牌逾時、管理 SNI 套接字連接、組合語言目標設定、SSPI 重試、使用者自訂型別讀取及加密讀取資料。 更新了 CVE-2024-35255 的身份套件。 |
| 5.2.3 | 2025年4月 | 修正了可能的套接字-接收空失效及參考組合不一致,允許負暫態錯誤數,並更新相依關係。 |
5.1
版本 5.1 於 2023 年 1 月正式上市。 最後一個補丁是 5.1.9,於 2026 年 1 月釋出。
- 新增 .NET 6 支援,並放棄 .NET Core 3.1。
- 新增
DateOnly並TimeOnly支援參數值與GetFieldValue。 - 新增 .NET 中的 TLS 1.3 及原生 SQL Server 網路介面(SNI)路徑。
- 新增
ServerCertificate以精確匹配與Encrypt=MandatoryEncrypt=Strict的憑證。 - 新增 Windows ARM64 對 .NET Framework 的支援。
- 把字串解析器公開
SqlConnectionEncryptOption了。 - 版本 5.1.3 修正了 CVE-2024-0056 加密降級路徑及憑證鏈驗證。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 5.1.0 | 2023 年 1 月 | 正式上市。 |
| 5.1.1 | 2023 年 3 月 | 固定的 Always Encrypted 錯誤回報、重定向模式交易、權杖限速、大型查詢 TDS RPC 失敗及 GetBytesAsync 空處理。 |
| 5.1.2 | 2023 年 10 月 | 固定 SQL Express 使用者實例、enclave 重試、LocalDB、連線字串建構值、 SqlConnectionEncryptOption 組態轉換及 OpenAsync 暫態錯誤。 |
| 5.1.3 | 2024 年 1 月 | 修正了 CVE-2024-0056 及憑證鏈驗證。 |
| 5.1.4 | 2024 年 1 月 | 已修復 .NET 分散式交易死結,並升級Azure.Identity至 CVE-2023-36414。 |
| 5.1.5 | 2024 年 1 月 | 修正了合併前的交易清理,以及 Always Encrypted 的日期與時間轉換失敗。 CVE-2024-21319 的身份模型相依性更新。 |
| 5.1.6 | 2024 年 8 月 | 固定 OpenAsync、認證逾時,以及加密讀取器待處理資料失敗。 更新了 CVE-2024-35255 及快 TokenCredential 取實例的身份相依關係。 |
| 5.1.7 | 2025年4月 | 修正了可能的套接字-接收空失效,對齊了原始碼與參考組件,並更新了相依性。 |
| 5.1.8 | 2025年11月 | 新增 Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner了 ,修正了 UTF-8 位元組順序標記處理,現代化了 MSAL 建立,並更新了相依性。 |
| 5.1.9 | 2026年1月 | 將時間調整 SqlStatistics 到 Environment.TickCount 並更新了框架特定的相依關係。 |
5.0
版本 5.0 於 2022 年 8 月正式上市。 最終的修補檔是 5.0.2,於 2023 年 3 月釋出。
- 新增 TDS 8.0 至
Encrypt=Strict。 嚴格模式會在 TDS 登入交換前啟動 TLS,並且總是驗證伺服器憑證。 - 由
SqlConnectionStringBuilder.Encryptbool改為SqlConnectionEncryptOption。 - 將 SQL Server 的通用語言執行時(CLR)類型移至獨立版本化
Microsoft.SqlServer.Server套件。 - 新增
Server SPN與Failover Server SPN連線選項。 - 目前在.NET上新增了Windows SQL Server別名支援。
- 新增
SqlDataSourceEnumerator於 Windows 上。 - 放棄了 .NET Framework 4.6.1。
Important
SqlConnectionStringBuilder.Encrypt型別變更稱為二元破缺。 被移除的 Microsoft.Data.SqlClient.Server 類型也需要更改原始碼才能使用 Microsoft.SqlServer.Server。 重新編譯應用程式與函式庫、更新命名空間,並在仍被引用時 System.Data.SqlClient 檢查命名空間衝突。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 5.0.0 | 2022 年 8 月 | 正式上市。 |
| 5.0.1 | 2022 年 10 月 | 在 .NET Framework 上還原HostNameInCertificate,並修正注意力死結、SqlConnectionStringBuilder.Encrypt取消註冊、管理 SNI 當機、UTF-8 整合及 SNI 應用程式域崩潰。 |
| 5.0.2 | 2023 年 3 月 | 修正了非同步讀取記憶體洩漏、重定向模式 TransactionScope、Always Encrypted 錯誤、大型查詢 TDS RPC 失敗及分散式交易死鎖。 |
4.1
4.1 版本於 2022 年 1 月正式推出。 最後一個補丁是 4.1.1,於 2022 年 9 月釋出。
- 新增
Attestation Protocol=None用於基於虛擬化的安全(VBS)隔壁。 - Linux 與 macOS
MultiSubnetFailover啟用時,平行化 SQL Server 解析協定請求。 - 在認證時,固定了憑證撤銷清單檢查。
- 修正了 Microsoft Entra 認證、null
SqlBinary與 rowversion 值,以及 UTF-8 的整合行為。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 4.1.0 | 2022 年 1 月 | 正式上市。 |
| 4.1.1 | 2022 年 9 月 | 修正憑證撤銷清單失敗,平行化 SQL Server 解析協定請求,MultiSubnetFailover並修正 Microsoft Entra 認證、列版本、UTF-8 及 SNI 應用域失敗。 |
4.0
4.0 版本於 2021 年 11 月正式推出。 最後一次補丁是 4.0.6,於 2024 年 8 月釋出。
- 將預設值
Encryptfalse從 更改為true。 - 新增
SqlCommand.EnableOptimizedParameterBinding給包含許多參數的指令。 - 透過 .NET Standard 實作新增
SqlFileStream於 Windows 版本。 - 在受管理的 SNI 中新增了共享的 LocalDB 實例支援。
- 加上
GetFieldValue<T>和GetFieldValueAsync<T>,對XmlReader、TextReader、Stream。 - 我已經把可設定重試邏輯中的安全開關移除了。 重試功能一直被停用,直到應用程式設定提供者。
- 將 Microsoft Entra 認證失敗改為拋棄
SqlException。AggregateException - 放棄了 .NET Core 2.1。
- 版本 4.0.5 修正了 CVE-2024-0056 加密降級路徑與憑證鏈驗證問題。
Important
由於 4.0 及更新版本預設加密為 , true 升級可能會暴露憑證信任或伺服器名稱不符的問題。 不要關閉加密來繞過這些錯誤。 安裝受信任的伺服器憑證或設定部署時的憑證驗證。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 4.0.0 | 2021年11月 | 正式上市。 |
| 4.0.1 | 2022 年 1 月 | 新增SuppressInsecureTLSWarning並修正了 .NET 6 Kerberos、LocalDB 管道名稱及並行區檢。 |
| 4.0.2 | 2022 年 9 月 | 修正憑證撤銷清單失敗,平行化 SQL Server 解析協定請求,MultiSubnetFailover並修正 Microsoft Entra 認證、列版本、UTF-8 及 SNI 應用域失敗。 |
| 4.0.3 | 2023 年 4 月 | 減少快取帳號的令牌限速,並修正大型查詢 TDS RPC 失敗。 |
| 4.0.4 | 2023 年 10 月 | 固定非同步隔壁重試、LocalDB 及受管理的 SNI 備援、檔案版本及連線活動相關性。 |
| 4.0.5 | 2024 年 1 月 | 修正了 CVE-2024-0056 及憑證鏈驗證。 |
| 4.0.6 | 2024 年 8 月 | 在池化前固定交易事件清理與 ActiveDirectoryAuthenticationProvider.AcquireTokenAsync 超時處理。 |
3.1
3.1 版本於 2022 年 3 月正式推出。 最後一次補丁是 3.1.7,於 2024 年 8 月釋出。
- 新增
Attestation Protocol=None給 VBS 飛地。 - 將 SQL 錯誤 42108 和 42109 加入預設的暫態錯誤清單。
- 在 3.1.2 中新增了 Windows ARM64 對 .NET Framework 的支援。
- 在 3.1.3 中,透過靜默憑證取得減少了重複的 Microsoft Entra 令牌請求。
- 已修正 3.1.5 版本中 CVE-2024-0056 加密降級路徑。
- 在 3.1.7 中,合併前的交易清理和 Microsoft Entra 令牌逾時處理問題已修正。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 3.1.0 | 2022 年 3 月 | 正式上市。 |
| 3.1.1 | 2022 年 8 月 | 修正了 null SqlBinaryrowversion 值、.NET 6 Kerberos 失敗,以及 Microsoft Entra 認證 null reference 失敗。 |
| 3.1.2 | 2023年2月 | 新增 .NET Framework Windows ARM64 支援,並修正重試清單執行緒安全、分散式交易死鎖、UTF-8 整合及儲存程序驗證。 |
| 3.1.3 | 2023 年 3 月 | 減少 Microsoft Entra 令牌限速,並AcquireTokenSilent修正大型查詢 TDS RPC 失敗。 |
| 3.1.4 | 2023 年 10 月 | 修正了非同步隔區重試、LocalDB 及受管理的 SNI 備援、檔案版本、連線活動關聯及 EventSource 格式化。 |
| 3.1.5 | 2024 年 1 月 | 修正了 CVE-2024-0056 及憑證鏈驗證。 |
| 3.1.6 | 2024 年 8 月 | 這個包裹沒有正確簽名,且未被列入名單。 沒有上游的釋出說明檔。 改用 3.1.7 版本吧。 |
| 3.1.7 | 2024 年 8 月 | 固定交易事件清理,並於池化前進行認證逾時、組合簽署及 SNI 應用程式域崩潰。 |
3.0
3.0 版本於 2021 年 6 月正式推出。 最後一個補丁是 3.0.1,於 2021 年 9 月釋出。
- 新增可設定的重試邏輯以支援連線與指令操作。 在 3.0 版本中,它仍選擇加入。
Switch.Microsoft.Data.SqlClient.EnableRetryLogic - 新增了事件計數器,用於連線和池池活動。
- 新增
Active Directory Default了透過Azure.Identity. - 新增了連線範圍與命令範圍的「始終加密」金鑰儲存提供者註冊。
- 新增了 TCP IP 位址偏好。
- 更改使用者指派的管理身份驗證,改為使用用戶端 ID 而非物件 ID 中的
User Id物件 ID 。 - 將 SQL 的 rowversion null 值改為回傳
DBNull,取代空位元組陣列。 AppContext 交換器保留了舊有的行為。 - 將最低 .NET 框架目標從 4.6 提高至 4.6.1。
系統金鑰儲存提供者優先於 3.0 起註冊於連線或指令上的提供者。 如果自訂供應商名稱與內建供應商不符,請重新命名。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 3.0.0 | 2021年6月 | 正式上市。 |
| 3.0.1 | 2021年9月 | 固定阻擋 Microsoft Entra 連線開啟、交易推廣狀態、必須加密、重試遞迴與死鎖,以及無法使用的連線。 |
2.1
2.1 版本於 2020 年 11 月正式上市。 最後一個補丁是 2024 年 1 月釋出的 2.1.7。
- Always Encrypted 擴展至支援的 .NET Standard 2.0 平台。
- 在 Unix 上為 .NET Core 及跨 .NET Standard 2.1 平台新增安全隔區支援。
- 新增
Active Directory Device Code Flow並管理身份驗證。 - 新增了互動式及裝置程式碼驗證的自訂鉤子。
- 新增敏感度分類排名元資料。
- 新增
SqlConnection.ServerProcessId。 - 新增
Command Timeout連線選項作為連線產生指令的預設選項。 - 版本 2.1.7 修正了 CVE-2024-0056 加密降級路徑。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 2.1.0 | 2020 年 11 月 | 正式上市。 |
| 2.1.1 | 2020 年 12 月 | Azure Functions、Unix Kerberos 及 TCP keep-alive 中的固定系統指定管理身份。 |
| 2.1.2 | 2021 年 3 月 | 修正了 Unix 命名實例、逾時錯誤結果、不安全的 DTD 處理、Kerberos SPN、缺少快取相依、追蹤和 MARS 標頭。 |
| 2.1.3 | 2021 年 5 月 | 透過開放的結果集防止交易資料損壞,並修正了 a SinglePhaseCommit 與 TransactionEnded race。 |
| 2.1.4 | 2021年9月 | 確保連線在需要加密時失敗,並將連線固定為無法使用的狀態。 |
| 2.1.5 | 2022 年 8 月 | 新增了儲存程序CommandText長度驗證,並修正了 .NET 6 Kerberos 認證與 SqlTypeWorkarounds。 |
| 2.1.6 | 2023 年 4 月 | 修正了 在 、預設 UTF-8 整合衝突及注意力發送死鎖中 的 SqlCommand.ExecuteReaderAsync大型查詢 TDS RPC 失敗。 |
| 2.1.7 | 2024 年 1 月 | 修正了 CVE-2024-0056 及憑證鏈驗證。 |
2.0
2.0 版本於 2020 年 6 月正式推出。 最終的修補檔是 2.0.1,於 2020 年 8 月釋出。
- 新增
Active Directory Integrated並Active Directory Interactive支援 .NET 核心與 .NET 標準的認證。 - 新增
Active Directory Service Principal了認證。 - 加上描
Microsoft.Data.SqlClient.EventSource摹。 - 新增跨平台 TCP keep-alive 及 Windows 上選擇加入的管理網路實作,用於測試與除錯。 受管理路徑不支援非域的 Windows 驗證。
- 新增
SqlBulkCopy.RowsCopied並訂購了大量副本提示。 - 新增
SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry)。 - 透過
Microsoft.Data.SqlClient.SNI.runtime相依系統新增了 Windows ARM 支援。 - 當伺服器強制加密時,包括 連接字串 設定
Encrypt=false時,開始驗證伺服器憑證。 如果憑證不被信任或名稱與伺服器不符,升級後連線可能會失敗。 - 將十進位參數尺度處理改為使用 SQL Server 相容的四捨五入。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 2.0.0 | 2020 年 6 月 | 正式上市。 |
| 2.0.1 | 2020 年 8 月 | 新增了共存友善的認證配置,以及固定的池狀憑證到期、瞬態錯誤處理、enclave 快取,以及原生 SNI 預登入錯誤。 |
1.1
1.1 版本於 2019 年 11 月正式上市。 最終的修補檔是 1.1.4,於 2021 年 3 月釋出。
- 新增了 Always Encrypted 並以安全隔區支援的 .NET Framework 及 .NET 核心目標。
- 在 .NET Core 上新增
|DataDirectory|了擴充AttachDBFilename功能。 - 改良的非同步讀取,具備多封包目標緩衝快取。
- 在 和
SqlDataReader中降低快照開銷TdsParserStateObject。 - 後續修補中修正了逾時狀態及多重主動結果集(MARS)標頭錯誤。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 1.1.0 | 2019年11月 | 正式上市。 |
| 1.1.1 | 2020 年 2 月 | 還原導致死結的非同步 SNIPacket 變更,並修正 SNI 相依範圍。 |
| 1.1.2 | 2020 年 4 月 | 新增 Active Directory 互動式認證用戶名稱,並修正密碼持久性與 MARS TDS 標頭。 |
| 1.1.3 | 2020 年 5 月 | 防止中止的交易登錄池連線,並還原了回歸性的 MARS 標頭修正。 |
| 1.1.4 | 2021 年 3 月 | 修正了 .NET Framework 4.8 及更新版本中逾時狀態錯誤的結果與 MARS 標頭錯誤。 |
1.0
Microsoft。Data.SqlClient 1.0 於 2019 年 8 月正式上市。 最後一個補丁是 1.0.19269.1,於 2019 年 9 月釋出。
- 引入了獨立運送
Microsoft.Data.SqlClient的供應商。 - 支援 .NET Framework 4.6 及後續版本、.NET Core 2.1 及以後版本,以及 .NET Standard 2.0。
- 在 .NET Framework 上新增
Active Directory Interactive了認證功能。 - 在 .NET Core 上新增
Active Directory Password了認證功能。 - 新增資料敏感性分類元資料。
SqlDataReader - 新增 SQL Server 2019 UTF-8 整合支援。
- 新增了 .NET Core 的 Always Encrypted 支援。
版本
| 版本 | 已釋出 | 與客戶相關的變更 |
|---|---|---|
| 1.0.19239.1 | 2019 年 8 月 | 正式上市。 交易失敗後的固定連線重用、SNI 發布、全球化不變處理及批量複製空擴展。 |
| 1.0.19249.1 | 2019 年 9 月 | Unix 上固定了大量多封包資料讀取。 |
| 1.0.19269.1 | 2019 年 9 月 | 還原 SqlCommand.StatementCompleted、新增缺少 SqlConnectionStringBuilder.Authentication的 ,並還原了不相容 SqlAuthenticationParameters.Resource 的 API 變更。 |
對於從舊供應商轉移的應用程式,請使用 Migrate from System.Data.SqlClient 到 Microsoft。Data.SqlClient 而不是單獨閱讀版本說明。
可選套件發布說明
可選套件都有自己的發行說明。 從 7.0.2 版本開始,他們會依照核心驅動程式的版本同步出貨。
| Package | 發布說明 |
|---|---|
Microsoft.Data.SqlClient.Extensions.Azure |
Azure 擴充發布說明 |
Microsoft.Data.SqlClient.Extensions.Abstractions |
擴充抽象釋出說明 |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Azure Key Vault Provider 發布說明 |
不要直接引用 Microsoft.Data.SqlClient.Internal.Logging 。 這是驅動程式套件內部共享的相依關係。
評估更新
- 識別所有直接或傳遞使用的驅動程式及選用套件版本。
- 閱讀每個被更新跨越的小型與主要版本的發行說明。
- 請檢查 SqlClient 驅動程式支援的生命週期 ,以了解目標框架與資料庫相容性。
- 將所有相關套件更新為相容版本。
- 建置並測試應用程式的認證、加密、連線池、參數、交易、重試、診斷及部署輸出。
關於安裝與部署指令,請參見安裝、更新與部署 Microsoft。Data.SqlClient。