SQL Server Data Tools (SSDT) 是 Visual Studio 中的一组开发工具,侧重于生成 SQL Server 数据库和 Azure SQL 数据库。 Visual Studio 中的 SDK 样式的 SQL 项目支持下一代 SQL 项目,作为适用于 Visual Studio 2022 的 SQL Server Data Tools,SDK 样式(预览版)功能的一部分。 SQL 项目功能扩展到 CI/CD 管道,使你能够使用 SqlPackage 自动生成和部署数据库项目。
概述
原始 SQL 项目格式基于 MSBuild (.NET Framework),是 Visual Studio 中的 SQL Server Data Tools 使用的格式。 SDK 样式项目格式基于新的 SDK 样式项目(Microsoft.Build.Sql),是用于 Visual Studio Code 的 SQL 数据库项目扩展使用的格式。 Microsoft.Build.Sql 项目 SDK 比原始 SQL 项目更灵活,且包含新功能:
- .NET 8 支持(跨平台)
- 数据库引用的 NuGet 包引用
- 项目中.sql文件的默认通配符模式
新的开发工作应考虑使用 SDK 样式的项目格式,因为它是将来支持的格式。 SDK 样式的项目具有来自原始 SQL 项目的功能超集,现有 SQL 项目可以通过修改项目文件转换为 SDK 样式的项目。 功能覆盖的例外是支持 SQLCLR 对象,这些对象需要 .NET Framework,在 SDK 样式的项目中不受支持。
有关 SQL 项目的详细信息,请参阅什么是 SQL 数据库项目? Microsoft.Build.Sql SDK 在 GitHub 和 NuGet.org 上提供。
安装
警告
SDK 样式的 SQL 项目功能处于预览状态,不支持与原始 SQL 项目并行安装。 建议在独立 Visual Studio 实例中安装 SDK 样式的 SQL 项目。
若要在 Visual Studio 2022 中安装 SDK 样式的 SQL 项目,请执行下列步骤:
- 从 Visual Studio 下载页下载并安装 Visual Studio 2022 (17.12 或更高版本)。 
- 安装过程中,选择“单个组件”选项卡并搜索“SQL”,以查找并选择“SQL Server Data Tools SDK 样式(预览版)”。 选择此项会自动选择所需依赖项。 
- 在 “单个组件 ”选项卡中搜索“.NET SDK”,然后选择“.NET SDK”组件。 选择此项会自动选择所需的依赖项,包括支持的 .NET 运行时。 .NET SDK 组件支持 Visual Studio 中Microsoft.Build.Sql SDK 的其他版本,这些版本可通过 NuGet.org 获取。 
- 继续安装,而不选择工作负载或额外功能。
Visual Studio 文档提供了有关修改 Visual Studio 安装以选择单个组件的其他信息。
如果 SDK 样式 SQL 项目与原始 SQL 项目并排安装,并且建议将 SDK 样式的 SQL Server Data Tools 安装为独立组件,则可能会出现意外行为。 若要验证哪些组件是 Visual Studio 安装的一部分,请使用 Visual Studio 中的“帮助”菜单,然后选择“关于 Microsoft Visual Studio”。 可使用多种方法在单台计算机上利用多个 Visual Studio 实例:
- 安装 Visual Studio 的不同发布渠道,例如 Visual Studio 2022 和 Visual Studio 2022 预览版。 
- 安装不同版本的 Visual Studio,例如 Visual Studio Community 和 Visual Studio Enterprise。 
- 安装到特定目录,以将 Visual Studio 实例与以前安装的版本分开。 
限制
SQL 项目工具之间的功能的完整比较可在 SQL 项目工具中查看。 Visual Studio 中的 SDK 样式的 SQL 项目功能具有以下限制:
- 不支持与原始 SQL 项目并行安装 
- SQL 项目文件在 Visual Studio 17.12 预览版 2 中使用扩展 - .sqlprojx而不是- .sqlproj。 在 Visual Studio 17.12 预览版 3 及更高版本中,扩展为- .sqlproj。
- 不支持 SQLCLR 对象 
- 架构比较接口未启用 
- 表设计器接口未启用 
- 数据比较接口未启用 
- 数据库单元测试未启用 
Visual Studio 中对 SDK 样式的 SQL 项目的支持处于预览状态,建议从最新的 Visual Studio 2022 预览版开始安装。 Visual Studio 中的 SQL 项目功能正在积极开发中,欢迎通过开发者社区提供反馈。
转换现有项目
Microsoft.Build.Sql SDK 样式的 SQL 项目可以从头开始创建,也可以从现有 SQL 项目转换而来。 可将原始 SQL 项目转换为 Microsoft.Build.Sql 项目,但建议在转换之前创建项目的备份。 若要将现有 SQL 项目转换为 SDK 样式项目,请按照将 原始 SQL 项目转换为 SDK 样式项目 作指南中的步骤作。
