SQL Server Data Tools,SDK 样式(预览版)

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 CLI 自动生成和部署数据库项目。

概述

原始 SQL 项目格式基于 MSBuild (.NET Framework),是 Visual Studio 中的 SQL Server Data Tools 使用的格式。 SDK 样式的项目格式基于新的 SDK 样式的项目 (Microsoft.Build.Sql),是用于 Azure Data Studio 和 VS Code 的 SQL 数据库项目扩展使用的格式。 Microsoft.Build.Sql 项目 SDK 比原始 SQL 项目更灵活,且包含新功能:

  • .NET 8 支持(跨平台)
  • 数据库引用的 NuGet 包引用
  • 项目中 .sql 文件的默认 globbing 模式

新的开发工作应考虑使用 SDK 样式的项目格式,因为它是未来将支持的格式。 SDK 样式的项目具有来自原始 SQL 项目的功能超集,现有 SQL 项目可以通过修改项目文件转换为 SDK 样式的项目。 功能覆盖的例外是支持 SQLCLR 对象,这些对象需要 .NET Framework,在 SDK 样式的项目中不受支持。

SQL 数据库项目主题中提供了有关 SQL 项目的进一步文档,Microsoft.Build.Sql SDK 在 GitHubNuGet.org 上提供。

安装

警告

SDK 样式的 SQL 项目功能处于预览状态,不支持与原始 SQL 项目并行安装。 建议在独立 Visual Studio 实例中安装 SDK 样式的 SQL 项目。

若要在 Visual Studio 2022 中安装 SDK 样式的 SQL 项目,请执行下列步骤:

  1. Visual Studio 下载页面下载并安装 Visual Studio 2022 预览版(17.12 预览版 2 或更高版本)。
  2. 安装过程中,选择“单个组件”选项卡并搜索“SQL”,以查找并选择“SQL Server Data Tools SDK 样式(预览版)”。 选择此项会自动选择所需依赖项。
  3. 继续安装,而不选择工作负载或额外功能。

Visual Studio 安装程序的屏幕截图,其中打开了“单个组件”选项卡。

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 项目并行安装
  • 在 Visual Studio 17.12 预览版 2 中,SQL 项目文件使用扩展名 .sqlprojx,而不是 .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 项目操作指南中的步骤操作。