通过


SQL 项目工具

SQL 项目的工具可在多个开发环境和命令行接口中使用。 SQL 项目的主要工具是 Visual Studio 中的 SqlPackage 命令行实用工具、SQL Server Data Tools (SSDT),以及 Visual Studio Code 的 SQL 数据库项目扩展

本文中包含的工具:

图形工具

这些工具为 SQL 项目、Transact-SQL(T-SQL)编辑器和生成和发布过程提供图形界面。

SQL 数据库项目扩展Visual Studio Code的扩展。 此扩展为 SQL 项目、T-SQL 编辑器以及生成和发布过程提供图形界面。

Database DevOpsSQL Server Management Studio (SSMS)为 SQL 项目、T-SQL 编辑器和生成和发布过程提供图形界面。

SQL Server Data Tools(SSDT)是一个Visual Studio组件,它为 SQL 项目提供图形界面。 SSDT 为表、T-SQL 编辑器以及生成和发布过程提供可视化设计器。

功能集比较

功能 Visual Studio Code SSMS SSDT (VS2022-2026) SDK格式SSDT(预览版)(VS2022)
创建新的空项目 是的 是的 是的 是的
从现有数据库创建新项目 是的 是的 是的 是的
打开现有Microsoft。Build.Sql 项目 是的 是的 是的
打开经典样式(SSDT)项目 是的 是的
解决方案管理和操作 是的 是的 是的
Project运行生成 是的 是的 是的 是的
将项目发布到现有服务器 是的 是的 是的 是的
将项目发布到本地开发实例 1 2 3 3
发布选项/属性 是的 是的 是的 是的
可以更新目标平台 是的 是的 是的 是的
SQLCMD 变量 是的 是的 是的 是的
项目引用 是的 是的 是的 是的
DACPAC 引用 是的 是的 是的 是的
包引用 是的 是的
发布配置文件创建 是的 是的 是的
可以通过将 SQL 文件放置在项目文件夹中来添加 是的 是的 是的
可以从生成中排除 SQL 文件 是的 是的 是的
部署前和部署后脚本 是的 是的 是的 是的
新建对象模板 4 是的 是的 4
Project文件可以组织到文件夹中 是的 是的 是的 是的
架构比较项目到数据库 是的 是的 是的
架构比较数据库到项目 是的 是的
图形表设计器 是的 是的
代码分析 - 启用/禁用规则 GUI 是的 是的 是的
Project 属性 - 构建输出设置 是的 是的
Project属性设置 - 数据库设置GUI 是的
项目运行代码分析 是的 是的 是的
对象重命名和重构 是的
项目模型中的数据库文件中提供的 Intellisense 是的

1本地开发实例是SQL Server容器。
2任何预安装的Microsoft SQL 数据库都可以用作本地开发实例。
3本地开发实例是SQL Server LocalDB 实例。
4 可用模板的有限子集。

命令行工具

SqlPackage 是 DacFx 库的主要命令行实用工具,可实现数据库开发任务的自动化,例如将 .dacpac 部署到数据库或者将数据库的对象提取到 SQL 项目或 .dacpac

可以使用 DacFx .NET 库生成自定义控制台应用程序,以自动执行数据库开发任务。 Microsoft。SqlServer.Dac 命名空间包含用于创建、部署和提取数据库对象的类,并且是 DacFx 库的其余部分的基础。

可以使用命令行执行或特定于 .dacpac 和 SQL 项目部署的任务生成 CI/CD 管道。 GitHub sql-actionSqlAzureDacpacDeployment 在 Azure DevOps 是使用管理层下的 SqlPackage 促进部署数据库更改的任务示例。

转换工具

现有 SQL 项目转换为 SDK 样式项目的过程是通过手动编辑 .sqlproj 文件以包含新的 SDK 样式项目格式来完成的。 在开始此过程之前,建议同时备份项目文件和存档项目的 .dacpac。 通过比较从项目生成的“before”和“after”.dacpac,可确定转换过程已正确完成。

项目/解决方案管理

可以在解决方案文件中将多个 SQL 项目(和其他项目)逻辑分组在一起。 解决方案文件是一个或多个项目的容器,用于将项目作为组进行管理,包括生成操作。 大型解决方案可以分解为较小的解决方案,以提高性能和可管理性,或者为手头的相应任务动态生成。 slngen 解决方案文件生成器可用于Microsoft。Build.Sql 项目,可用于以编程方式和按需方式为一组项目创建解决方案文件。

路线图

SQL项目相关功能的季度路线图可在 https://aka.ms/sqlprojects-roadmap 上查看。 客户反馈极大地影响了路线图,其中包括现代化 Microsoft.Build.Sql 项目的功能以及改进与 SQL 项目相关的工具界面。

第三方工具

提供与 SQL 项目和数据库部署相关的功能的第三方工具。 某些工具开放源代码,例如 dbatools

开发人员已利用 SQL 项目的扩展点(包括代码分析规则和自定义部署计划)共享其项目。 其中一些项目包括: