Microsoft 有什麼新動態。Data.SqlClient

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 過載。
  • 連接字串別名如 ColumnEncryptionConnectTimeoutWorkstationIdFailoverPartnerPacketSize
  • 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)的飛區認證現在可驗證飛區公鑰是否綁定於簽署的認證報告。 當你從早期預覽移動時,請重新測試這些路徑。

在測試這條系列之前,請先閱讀 preview1preview2preview3 的發行說明。

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.SqlClientMicrosoft.Data.SqlClient.Extensions.AzureMicrosoft.Data.SqlClient.Extensions.AbstractionsMicrosoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider和 。 設 Microsoft.Data.SqlClient.Internal.Logging 以傳遞方式解決。 在 .NET 框架中,組合語言版本Extensions.Azure的 、 Extensions.AbstractionsInternal.Logging 從 改1.0.0.07.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,並SqlDataRecordDateOnly結構化參數。
  • 新增 .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 用於非同步、池相容的代幣擷取。
  • 新增SqlBatchSqlBatchCommand支援 .NET 6 及更新版本。
  • 新增SqlDiagnosticListener對 .NET 標準的支援。
  • 新增 64 位元 SqlBulkCopy.RowsCopied64。 舊 RowsCopied 屬性仍為 32 位元整數。
  • 新增 Active Directory Workload Identity 了認證。
  • 新增 .NET 8 與大端序平台支援。
  • 預設改 UseOneSecFloorInTimeoutCalculationDuringLogintrue
  • 用於 NegotiateAuthentication .NET 7 及更新版本的受管 SSPI。

版本

版本 已釋出 與客戶相關的變更
5.2.0 2024年2月 正式上市。
5.2.1 2024 年 5 月 固定 Linux 命名實例連線,包含埠、FireInfoMessageEventOnUserErrors、datetimeoffset(n) 表值參數、延遲 OpenAsyncAccessTokenCallback 及由 保留。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。
  • 新增 DateOnlyTimeOnly 支援參數值與 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月 將時間調整 SqlStatisticsEnvironment.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 SPNFailover 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 SqlBinaryrowversion 值,以及 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> ,對 XmlReaderTextReaderStream
  • 我已經把可設定重試邏輯中的安全開關移除了。 重試功能一直被停用,直到應用程式設定提供者。
  • 將 Microsoft Entra 認證失敗改為拋棄SqlExceptionAggregateException
  • 放棄了 .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 SinglePhaseCommitTransactionEnded 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 IntegratedActive 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 。 這是驅動程式套件內部共享的相依關係。

評估更新

  1. 識別所有直接或傳遞使用的驅動程式及選用套件版本。
  2. 閱讀每個被更新跨越的小型與主要版本的發行說明。
  3. 請檢查 SqlClient 驅動程式支援的生命週期 ,以了解目標框架與資料庫相容性。
  4. 將所有相關套件更新為相容版本。
  5. 建置並測試應用程式的認證、加密、連線池、參數、交易、重試、診斷及部署輸出。

關於安裝與部署指令,請參見安裝、更新與部署 Microsoft。Data.SqlClient