共用方式為


SQL 專案工具

SQL 專案的工具可在數個開發環境和命令列介面使用。 SQL 專案的主要工具包括 SqlPackage 命令列工具、Visual Studio 中的 SQL Server Data Tools (SSDT)以及 Visual Studio Code 的 SQL Database Projects 擴充功能

本文中包含的工具:

圖形工具

這些工具提供 SQL 專案的圖形化介面、T-SQL 編輯器,以及組建和發佈流程。

SQL Database Projects 擴充功能VS Code 的擴充功能。 此延伸模組提供 SQL 專案的圖形化介面、T-SQL 編輯器,以及建置和發佈程序。 此擴充功能也可在 Azure Data Studio 中提供,功能相同。

SQL Server Data Tools (SSDT) 是 Visual Studio 元件,可提供 SQL 專案的圖形化介面。 SSDT 提供資料表、T-SQL 編輯器,以及建置和發佈程式的視覺化設計工具。

功能組比較

特色 VS Code SSDT(VS2022-2026) SDK 風格的 SSDT,預覽版(VS2022)
建立新的空專案 Yes Yes Yes
從現有的資料庫建立新專案 Yes Yes Yes
開啟現有的 Microsoft.Build.Sql 專案 Yes Yes
解決方案管理和作業 Yes Yes
專案執行組建 Yes Yes Yes
發佈專案到現有的伺服器 Yes Yes Yes
將專案發佈至本機開發環境 1 2 2
發佈選項/屬性設定 Yes Yes Yes
目標平台可以更新 Yes Yes Yes
SQLCMD 變數 Yes Yes Yes
專案參考 Yes Yes Yes
Dacpac 參考 Yes Yes Yes
套件參考 Yes
公開個人資料建立 Yes Yes Yes
SQL 檔案放在專案資料夾即可新增 Yes Yes
SQL 檔案可以從組建排除 Yes Yes
部署前/部署後指令 Yes Yes Yes
新物件範本 3 Yes 3
專案檔可以整理成資料夾 Yes Yes Yes
結構描述比較專案與資料庫 Yes Yes Yes
結構描述比較資料庫與專案 Yes Yes
圖形化資料表設計工具 Yes Yes
程式碼分析 – 啟用/停用規則 GUI Yes
專案屬性 – 組建輸出設定 Yes Yes
專案屬性 – 資料庫設定 GUI Yes
專案執行 程式碼分析 Yes Yes
物件重新命名和重構 Yes
在專案模型資料庫檔案中提供的 Intellisense Yes
  1. 本機開發執行個體是 SQL Server 容器。
  2. 本機開發執行個體是 SQL Server LocalDB 執行個體。
  3. 可用的範本子集有限

命令列工具

SqlPackage 是 DacFx 程式庫的主要命令列公用程式,可讓您自動化資料庫開發工作單位,例如將 .dacpac 部署至資料庫,或將資料庫的物件擷取至 SQL 專案或 .dacpac

您可以使用 DacFx .NET 程式庫建置自訂主控台應用程式,將資料庫開發工作自動化。 Microsoft.SqlServer.Dac 命名空間包含用來建立、部署及擷取資料庫物件的類別,而且是其餘 DacFx 程式庫的基礎。

CI/CD 管線可以使用命令列執行,或是使用 .dacpac 特定工作與 SQL 專案部署建置。 GitHub sql-actionAzure DevOps 中的SqlAzureDacpacDeployment,是使用管理層底下之 SqlPackage 輔助部署資料庫變更的工作範例。

轉換工具

現有的 SQL 專案轉換成 SDK 樣式專案 的程式,是手動編輯 .sqlproj 檔案以包含新的 SDK 樣式專案格式來完成。 開始過程之前,建議先備份專案檔案,並封存 .dacpac 專案版本。 藉由比較從專案建置的「之前」和「之後」 .dacpac ,您可以確定轉換程式已正確完成。

專案/方案管理

多個 SQL 專案(和其他專案)可以在方案檔中以邏輯方式群組在一起。 方案檔是一或多個專案的容器,可用來將專案當作群組來管理,包括建置動作。 大型解決方案可以細分為較小的解決方案,以提升效能和管理性,或者根據當前任務動態生成。 slngen 方案檔產生器適用於 Microsoft.Build.Sql 專案,而且可用來以程式設計方式和隨選方式建立一組專案的解決方案檔。

協力廠商工具

有第三方工具提供與 SQL 專案和資料庫部署相關的功能。 有些工具是開放原始碼,例如 dbatools

開發人員分享他們使用 SQL 專案的擴充點的專案,其中包括程式碼分析規則和自訂部署計劃。 其中一些專案包括: