SQL 專案工具

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

本文中包含的工具:

圖形工具

這些工具提供 SQL 專案的圖形介面、Transact-SQL(T-SQL)編輯器,以及建置與發佈流程。

SQL 資料庫專案擴充功能 是 Visual Studio Code 的擴充功能。 此延伸模組提供 SQL 專案的圖形化介面、T-SQL 編輯器,以及建置和發佈程序。

在 SQL Server Management Studio (SSMS) 中,Database DevOps 提供 SQL 專案的圖形介面、T-SQL 編輯器,以及建置與發佈流程。

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

功能組比較

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

1 Local Development 實例是一個SQL Server容器。
2任何預先安裝的 Microsoft SQL 資料庫都可以作為本地開發實例使用。
3 本地開發實例是SQL Server LocalDB 實例。
4 有限的範本子集可用。

命令列工具

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

可使用 DacFx .NET 函式庫建置自訂主控台應用程式,以自動化資料庫開發任務。 Microsoft。SqlServer.Dac命名空間包含用於建立、部署及擷取資料庫物件的類別,並且是 DacFx 函式庫其他部分的基礎。

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

轉換工具

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

專案/解決方案管理

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

藍圖

SQL 專案相關功能的季度路線圖可於 https://aka.ms/sqlprojects-roadmap。 客戶回饋在路線圖上具有深遠的影響,而這些路線圖同時涵蓋了 Microsoft.Build.Sql 專案功能的現代化以及與 SQL 專案相關工具表面的改進。

協力廠商工具

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

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