安裝、更新並部署 Microsoft。Data.SqlClient

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 進行安裝

  1. 在 方案總管 中,右鍵點擊專案,選擇管理 NuGet 套件。
  2. 在 瀏覽標籤 中搜尋 Microsoft.Data.SqlClient。
  3. 選擇 Microsoft 擁有的套件。
  4. 選擇支援的穩定版本,然後選擇 安裝。

欲了解更多資訊,請參閱「在 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 認證。

更新驅動程式

在你更新之前:

  1. 閱讀 Microsoft.Data.SqlClient 的新增功能,以及此次更新所跨越的每個版本的上游版本資訊。

  2. 請檢查應用程式中的直接封裝與遞轉封裝參考。

    dotnet list package --include-transitive
    
  3. 更新套件參照。

    dotnet add package Microsoft.Data.SqlClient --version <version>
    
  4. 還原、建置並執行應用程式測試。

  5. 測試連線建立、驗證、憑證驗證、連線池化、資料型態轉換、交易及重試行為,針對每個支援的資料庫目標。

主要版本和補丁版本可能需要應用程式變更。 例如,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)函式庫。

準備開始部署

  1. 發佈時使用與生產環境相同的作業系統與架構。 針對相依於架構的部署:

    dotnet publish --configuration Release
    

    若要進行特定執行階段的部署:

    dotnet publish --configuration Release --runtime <runtime-identifier>
    
  2. 部署完整的發佈輸出。 不要只選擇 Microsoft.Data.SqlClient.dll。

  3. 除非發佈的是自含式應用程式,否則請確認目標環境已安裝所需的 .NET 執行階段。

  4. 在目標作業系統與架構上測試已發佈的輸出。

  5. 測試生產中使用的所有認證模式。 整合驗證、Kerberos、憑證、管理身份及 Azure Key Vault 存取,皆依部署環境而定。

  6. 掃描已解決的相依關係圖,找出已知漏洞,並在有修正時更新支援的套件行。

全球化不變模式不支援。 有關目前平台資格認證,請參見 支援作業系統。

離線套件安裝

從 NuGet.org 下載套件及其相依,複製到內部套件來源,然後從該來源還原。 對於可重複的離線建置,請固定套件版本並保留完整的相依性集合。