分享方式:


SQL 專案工具

SQL 專案的工具可在數個開發環境和命令列介面使用。 SQL 專案的主要工具是 SqlPackage 命令列公用程式、Visual Studio 中的 SQL Server Data Tools (SSDT),以及適用於 Azure Data Studio 和 Visual Studio Code 的 SQL 資料庫專案延伸項目

圖形工具

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

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

SQL 資料庫專案延伸項目Azure Data Studio (ADS)VS Code 的延伸項目。 此延伸模組提供 SQL 專案的圖形化介面、T-SQL 編輯器,以及建置和發佈程序。

功能組比較

功能 SDK 樣式 SSDT SSDT ADS VS Code
建立新的空專案 X X X X
從現有的資料庫建立新專案 X X X
開啟現有的 Microsoft.Build.Sql 專案 X1 X X
解決方案管理和作業 X X
專案執行組建 X X X X
發佈專案到現有的伺服器 X X X X
將專案發佈至本機開發執行個體 X2 X2 X3 X3
發佈選項/屬性 X X X
目標平台可以更新 X X X X
SQLCMD 變數 X X X X
專案參考 X X
Dacpac 參考 X X X
套件參考 X
發行設定檔建立 X X X
SQL 檔案放在專案資料夾即可新增 X X X
SQL 檔案可以從組建排除 X X
部署前/部署後指令 X X X X
新物件範本 X4 X X4 X4
專案檔可以整理成資料夾 X X X X
結構描述比較專案與資料庫 X X
結構描述比較資料庫與專案 X X
圖形化資料表設計工具 X X
Code Analysis – 啟用/停用規則 X
專案屬性 – 組建輸出設定 X X
專案屬性 – 預設結構描述 X
專案屬性 – 資料庫設定 X
專案獨立執行 Code Analysis X
物件重新命名和重構 X
專案模型資料庫檔案提供的 Intellisense X
SQL Server 物件總管連線性/檢視物件 X X X X
SQL Server 物件總管操作功能表項目 X X X
SQL Server 查詢編輯器連線性 X X X
  1. 在 Visual Studio 2022 預覽版,SDK 樣式的專案使用 .sqlprojx 延伸項目而不是 .sqlproj
  2. 本機開發執行個體是 SQL Server LocalDB 執行個體。
  3. 本機開發執行個體是 SQL Server 容器。
  4. 可用的範本子集有限

命令列工具

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

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

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

協力廠商工具

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

開發人員已使用 SQL 專案周圍的擴充點共用專案,包括 Code Analysis 規則和自訂部署計劃。 其中一些專案包括: