SQL 数据库项目扩展

重要

Azure Data Studio 将于 2026 年 2 月 28 日停用。 建议使用 Visual Studio Code。 有关迁移到 Visual Studio Code 的详细信息,请访问 Azure Data Studio 发生了什么情况?

SQL 数据库项目扩展是一个 Azure Data Studio 和 Visual Studio Code 扩展,用于在基于项目的开发环境中开发 SQL 数据库。 兼容的数据库包括 SQL Server、Azure SQL 数据库、Azure SQL 托管实例、Fabric 中的仓库和 Fabric 中的 SQL 数据库(预览版)。 SQL 项目是 SQL 对象的本地表示形式,它构成单个数据库的架构,例如表、存储过程或函数。 生成 SQL 数据库项目时,输出项目是一个 .dacpac 文件。 可以通过发布 SQL 数据库项目与 SQL 数据库项目扩展或通过 SqlPackage 命令行接口发布 来更新新的和现有数据库以匹配 的内容。

包含预部署和部署后脚本以及数据库对象的 SQL 数据库项目的摘要的屏幕截图。

有关 SQL 项目概念的详细信息,请参阅 什么是 SQL 数据库项目?

扩展功能

SQL 数据库项目扩展提供以下功能:

  • 创建新的空白Microsoft.Build.Sql 项目。
  • 从连接的数据库创建新项目。
  • 打开以前在 Azure Data Studio、Visual Studio CodeSQL Server Data Tools 中创建的项目。
  • 通过在项目中添加或删除对象(表、视图、存储过程)或自定义脚本来编辑项目。
  • 在文件夹中组织文件/脚本。
  • 添加对系统数据库或用户 DACPAC 数据包的引用。
  • 生成单个项目。
  • 部署单个项目。
  • 从部署配置文件加载连接详细信息(SQL Windows 身份验证)和 SQLCMD 变量。

观看这段简短的 10 分钟视频,了解 Azure Data Studio 中的 SQL 数据库项目扩展简介:

Install

可以在 Azure Data Studio 和 Visual Studio Code 中安装 SQL 数据库项目扩展。

SQL 数据库项目扩展随 Visual Studio Code 的 mssql 扩展一起安装。

依赖关系

SQL 数据库项目扩展依赖于 .NET SDK(必需)和 AutoRest.Sql(可选)。

.NET SDK

项目生成功能需要 .NET SDK,如果扩展无法检测到受支持的版本,系统会提示你安装 .NET SDK。 可以下载并安装适用于 Windows、macOS 和 Linux 的 .NET SDK。

如果要 检查当前安装的 dotnet SDK 版本,请打开终端并运行以下命令:

dotnet --list-sdks

安装 .NET SDK 后,你的环境已准备好使用 SQL 数据库项目扩展。

常见问题

源列表中缺少 Nuget.org 可能会导致错误消息,例如:

  • error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.
  • Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages

若要检查 nuget.org 是否已注册为源,请从命令行运行 dotnet nuget list source 并查看引用 nuget.org 项的结果 [Enabled] 。如果未将 nuget.org 注册为源,请运行 dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org

不支持的 .NET SDK 版本可能会导致错误消息,例如:

  • error MSB4018: The "SqlBuildTask" task failed unexpectedly.
  • error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_ (其中链接的非存在文件具有不匹配的右方括号)。

若要在安装多个版本时强制 SQL 数据库项目扩展使用 .NET SDK 的 v6.x 版本,请将 global.json 文件添加到包含 SQL 项目的文件夹。

有关 SQL 项目生成故障排除的详细信息,请参阅 SQL 项目生成故障排除

SQLCLR

VS Code 和 Azure Data Studio 不支持数据库项目中的 SQLCLR 对象,因为它们依赖于 .NET Framework,SQL 数据库项目扩展使用 .NET 生成项目。

工作空间

SQL 数据库项目包含在 Azure Data Studio 和 Visual Studio Code 中的逻辑工作区(文件夹)内。 默认情况下,在当前工作区中打开的文件夹中的所有 SQL 项目在 SQL 数据库项目视图中可用。

可以通过“ 项目” 窗格中的界面手动添加和删除工作区中的项目。 如有必要,可以在文件中手动编辑 .code-workspace 工作区的设置。

在以下示例 .code-workspace 文件中, folders 该数组列出了资源管理器窗格中包括的所有文件夹, dataworkspace.excludedProjects 其中列出了 settings“项目 ”窗格中排除的所有 SQL 项目。

{
  "folders": [
    {
      "path": "."
    },
    {
      "name": "WideWorldImportersDW",
      "path": "..\\WideWorldImportersDW"
    }
  ],
  "settings": {
    "dataworkspace.excludedProjects": [
      "AdventureWorksLT.sqlproj"
    ]
  }
}