Microsoft。Data.SqlClient 是支援 SQL Server、Azure SQL Database、Azure SQL 受控執行個體、Azure Synapse Analytics、Microsoft Fabric 中的 SQL 資料庫,以及 Microsoft Fabric 中的 Warehouse 的 .NET 資料提供者。 驅動程式以 NuGet 套件形式發佈,獨立於 .NET 執行環境。
選擇發行版本
請針對正式環境應用程式使用受支援的正式發行 (GA) 版本。
| 發行線 | 支援層級 | 當…時,選擇它 |
|---|---|---|
| 7.0 | 標準定期扶養(STS) | 你需要最新的驅動程式功能,並且可以依照正常的發佈節奏更新。 |
| 6.1 | 長期支援 (LTS) | 你偏好較長的支援期,且不需要 7.0 新增的功能。 |
有關目前修補程式版本、支援日期、目標框架及資料庫相容性,請參閱 SqlClient 驅動程式支援生命週期。
安裝核心套件
從包含你專案檔案的目錄執行以下指令:
dotnet add package Microsoft.Data.SqlClient
指令會選擇與專案相容的最新穩定版本。 若要固定版本以進行可重複建置,請指定版本:
dotnet add package Microsoft.Data.SqlClient --version <version>
還原相依性並建置專案:
dotnet restore
dotnet build
用 C# 匯入驅動程式命名空間:
using Microsoft.Data.SqlClient;
對於新應用程式,不要參考舊的 System.Data.SqlClient 套件或命名空間。 若要更新現有應用程式,請參見從 System.Data.SqlClient 遷移到 Microsoft。Data.SqlClient。
使用 Visual Studio 進行安裝
- 在 方案總管 中,右鍵點擊專案,選擇管理 NuGet 套件。
- 在 瀏覽標籤 中搜尋
Microsoft.Data.SqlClient。 - 選擇 Microsoft 擁有的套件。
- 選擇支援的穩定版本,然後選擇 安裝。
欲了解更多資訊,請參閱「在 Visual Studio 安裝與管理套件」。
新增可選套件
只有當你的應用程式使用相關功能時,才安裝可選套件。
| Package | 在…時加入它 |
|---|---|
Microsoft.Data.SqlClient.Extensions.Azure |
Microsoft.Data.SqlClient 7.0 或更新版本會使用驅動程式提供的 Microsoft Entra 驗證模式,例如 Active Directory Default、Active Directory Interactive 或 Active Directory Managed Identity。 |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Always Encrypted 會將欄位主金鑰儲存在 Azure Key Vault 中。 |
對於使用 SqlClient 7.0 或更新版本的 Microsoft Entra 認證,請執行:
dotnet add package Microsoft.Data.SqlClient.Extensions.Azure --version <same-version-as-Microsoft.Data.SqlClient>
7.0 核心套件已不再包含 Azure Identity 相依性。 從 7.0.2 版本開始,核心驅動程式及配套套件使用對齊版本。 參考同一個版本的 Microsoft.Data.SqlClient 和 Microsoft.Data.SqlClient.Extensions.Azure。 不使用驅動程式提供的 Microsoft Entra 認證的應用程式,則不需要 Azure 擴充套件。 關於認證設定,請參見 Microsoft Entra 認證。
更新驅動程式
在你更新之前:
閱讀 Microsoft.Data.SqlClient 的新增功能,以及此次更新所跨越的每個版本的上游版本資訊。
請檢查應用程式中的直接封裝與遞轉封裝參考。
dotnet list package --include-transitive更新套件參照。
dotnet add package Microsoft.Data.SqlClient --version <version>還原、建置並執行應用程式測試。
測試連線建立、驗證、憑證驗證、連線池化、資料型態轉換、交易及重試行為,針對每個支援的資料庫目標。
主要版本和補丁版本可能需要應用程式變更。 例如,4.0 版本預設啟用加密,5.0 版本從 bool 變更SqlConnectionStringBuilder.Encrypt為 SqlConnectionEncryptOption,7.0 版本將驅動程式提供的 Microsoft Entra 認證移至獨立套件。
從 7.0.2 版開始,Microsoft.Data.SqlClient.Extensions.Azure、1.0.0.0 和 Microsoft.Data.SqlClient.Extensions.Abstractions 的組件版本已從 Microsoft.Data.SqlClient.Internal.Logging 變更為 7.0.0.0。 .NET Framework 應用程式必須針對已對齊的套件重新建置,或新增繫結重新導向。 目前 .NET 上的應用程式不會受到這個組合體身份變更的影響。
了解目標框架
Microsoft。Data.SqlClient 7.0 支援以下應用程式:
- .NET Framework 4.6.2 或更新版本在 Windows 上。
- 支援 Windows、Linux 及 macOS 版本的 .NET 8 或更新版本。
NuGet 套件也包含一個符合 .NET Standard 2.0 相容性的函式庫資產。 可執行應用程式必須針對支援的 .NET 或 .NET Framework 執行環境。 函式庫的 .NET Standard 目標並不代表每個耗用型執行環境都被支援。
該套件透過 NuGet 還原其受控和原生相依性。 不要在應用程式間複製單一驅動程式組或原生 SQL 網路介面(SNI)函式庫。
準備開始部署
發佈時使用與生產環境相同的作業系統與架構。 針對相依於架構的部署:
dotnet publish --configuration Release若要進行特定執行階段的部署:
dotnet publish --configuration Release --runtime <runtime-identifier>部署完整的發佈輸出。 不要只選擇
Microsoft.Data.SqlClient.dll。除非發佈的是自含式應用程式,否則請確認目標環境已安裝所需的 .NET 執行階段。
在目標作業系統與架構上測試已發佈的輸出。
測試生產中使用的所有認證模式。 整合驗證、Kerberos、憑證、管理身份及 Azure Key Vault 存取,皆依部署環境而定。
掃描已解決的相依關係圖,找出已知漏洞,並在有修正時更新支援的套件行。
全球化不變模式不支援。 有關目前平台資格認證,請參見 支援作業系統。
離線套件安裝
從 NuGet.org 下載套件及其相依,複製到內部套件來源,然後從該來源還原。 對於可重複的離線建置,請固定套件版本並保留完整的相依性集合。