共用方式為


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 專案 X X X
解決方案管理和作業 X X
專案執行組建 X X X X
發佈專案到現有的伺服器 X X X X
將專案發佈至本機開發環境 X1 X1 X2 X2
發佈選項/屬性設定 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
新物件範本 X3 X X3 X3
專案檔可以整理成資料夾 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. 本機開發執行個體是 SQL Server LocalDB 執行個體。
  2. 本機開發執行個體是 SQL Server 容器。
  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 專案的擴充點的專案,其中包括程式碼分析規則和自訂部署計劃。 其中一些專案包括: