共用方式為


SQL 資料庫專案延伸模組

這很重要

Azure Data Studio 將於 2026 年 2 月 28 日停止運行。 建議您使用 Visual Studio Code。 如需移轉至 Visual Studio Code 的詳細資訊,請流覽 Azure Data Studio 發生什麼事?

SQL 資料庫專案延伸模組是 Visual Studio Code 延伸模組,用於在專案型開發環境中開發 SQL 資料庫。 相容的資料庫包括 SQL Server、Azure SQL 資料庫、Azure SQL 管理實例、Warehouse in Fabric 以及 SQL 資料庫 in Fabric。 SQL 專案是 SQL 物件的本端表示法,這些物件構成單一資料庫的結構描述,例如表格、預存程序或函數。 當你建立 SQL 資料庫專案時,你會建立一個 .dacpac 檔案。 你可以透過使用 SQL Database Projects 擴充功能來發佈 SQL 資料庫專案,或透過使用 SqlPackage 命令列介面來發佈 .dacpac,以更新新舊資料庫並使其符合 .dacpac 的內容。

包含部署前和部署後腳本以及資料庫物件的 SQL 資料庫專案摘要的螢幕擷取畫面。

如需 SQL 專案概念的詳細資訊,請參閱 什麼是 SQL 資料庫專案?

擴充功能

SQL 資料庫專案延伸模組提供下列功能:

  • 建立新的空白 Microsoft.Build.Sql 專案。
  • 從連線的資料庫建立新專案。
  • 開啟先前在 Visual Studio CodeSQL Server Data Tools 中建立的專案。
  • 透過在專案中新增或移除物件 (表格、檢視、預存程序) 或自訂指令碼來編輯專案。
  • 將檔案和腳本整理在資料夾中。
  • 將系統資料庫或使用者專屬的 dacpac 新增為參照。
  • 建置單一專案。
  • 部署單一專案。
  • 從部署設定檔載入連線詳細資料 (SQL Windows 驗證) 和 SQLCMD 變數。

Install

您可以在 Visual Studio Code 中安裝 SQL 資料庫專案延伸模組。

SQL 資料庫專案延伸模組會與 Visual Studio Code 的 mssql 延伸模組一起安裝。

依賴

SQL 資料庫專案擴充功能依賴於 .NET SDK(必備)和 AutoRest.Sql(可選)。

.NET SDK

這個擴充功能需要 .NET SDK 才能進行專案建置功能。 如果擴充套件無法偵測到支援的版本,它會提示你安裝 .NET SDK。 你可以下載並安裝適用於 Windows、macOS 和 Linux 的 .NET SDK

檢查目前安裝 的 dotnet SDK 版本,請開啟終端機並執行以下指令:

dotnet --list-sdks

安裝 .NET SDK 後,你的環境就可以使用 SQL Database Projects 擴充功能了。

常見問題

  • 來源列表中缺少 nuget.org 可能導致以下錯誤訊息:

    • error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.

    • Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages

    若要檢查 nuget.org 是否已註冊為來源,請從命令列執行 dotnet nuget list source ,並檢閱參考 nuget.org 項目的 [Enabled] 結果。如果 nuget.org 未註冊為來源,請執行 dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org

  • 不支援的 .NET SDK 版本 可能導致以下錯誤訊息:

    • error MSB4018: The "SqlBuildTask" task failed unexpectedly.

    • error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_ (其中連結的不存在檔案具有不相符的右方括號)。

    當安裝多個版本時,你可以強制 SQL Database Projects 擴充功能使用 .NET SDK 的 v6.x 版本。 為此,請在包含 SQL 專案的資料夾中新增一個 global.json 檔案。

欲了解更多關於故障排除 SQL 專案建置的資訊,請參見 「故障排除 SQL 專案建置」。

SQLCLR

Visual Studio Code 不支援資料庫專案中的 SQLCLR 物件,因為這些物件依賴 .NET Framework,而 SQL Database Projects 擴充功能則使用 .NET 來建置專案。

工作空間

SQL 資料庫專案包含在 Visual Studio Code 的邏輯工作區 (資料夾) 內。 預設情況下,你可以在 SQL 資料庫專案 檢視中存取目前工作區中開啟資料夾中的所有 SQL 專案。

您可以透過「 專案」 窗格中的介面,在工作區中手動新增和移除專案。 如果需要,你可以手動編輯檔案中 .code-workspace 工作區的設定。

在以下範例 .code-workspace 檔案中,陣 folders 列列出了檔案總管面板中包含的所有資料夾。 dataworkspace.excludedProjects該陣settings列中列出在專案窗格中被排除的所有 SQL 專案。

{
  "folders": [
    {
      "path": "."
    },
    {
      "name": "WideWorldImportersDW",
      "path": "..\\WideWorldImportersDW"
    }
  ],
  "settings": {
    "dataworkspace.excludedProjects": [
      "AdventureWorksLT.sqlproj"
    ]
  }
}