Visual Studio Code 的 MSSQL 扩展是什么?

Visual Studio Code 的 MSSQL 扩展支持开发人员构建使用 Azure SQL 的应用程序(包括 Azure SQL 数据库、Azure SQL 托管实例和 Azure 虚拟机上的 SQL Server)、Fabric 中的 SQL 数据库和 SQL Server。 它提供用于连接到数据库、管理和设计架构、浏览数据库对象、执行 Transact-SQL 查询以及查看 Visual Studio Code 中的查询执行计划的工具。

该扩展包括高级 IntelliSense、Transact-SQL 脚本执行,以及支持本地和基于云的数据库的 SQL 开发的可自定义选项。

在 Visual Studio Code 中安装 MSSQL 扩展

若要开始使用 Visual Studio Code 中的 SQL 开发,请安装 MSSQL 扩展

  1. 打开 Visual Studio Code
  2. 在活动栏中选择 “扩展 ”图标(macOS 上的 Cmd+Shift+X 或 Windows 和 Linux 上的 Ctrl+Shift+X )。
  3. 搜索栏中,键入 mssql
  4. 在结果中查找 SQL Server (mssql), 然后选择它。
  5. 选择“ 安装 ”按钮。

Visual Studio Code 中 MSSQL 扩展的屏幕截图。

提示

MSSQL 图标显示在活动栏中并且 连接 视图变为可用时,你已正确安装扩展。

新式 UI

Visual Studio Code 的 MSSQL 扩展提升了在 SQL Server、Azure SQL 和 Fabric 上的 SQL 数据库的开发体验。

此体验提供默认启用的以下集成功能:

  • “连接”对话框
  • 对象资源管理器(筛选)
  • 表设计器
  • “查询结果”窗格
  • 查询计划可视化工具

注释

若要使用预览功能(包括 视图和编辑数据(预览版),mssql.enableExperimentalFeatures 启用 Visual Studio Code 中的设置。 在“设置>”下,选中“启用实验功能”复选框。 重启 Visual Studio Code,使设置生效。

连接对话框

“连接”对话框提供了一个简单直观的界面,用于连接到 Azure SQL 中托管的数据库(包括 Azure SQL 数据库、Azure SQL 托管实例和 Azure VM 上的 SQL Server)、Fabric 中的 SQL 数据库或 SQL Server。 它提供了多个输入选项来满足不同的方案:

  • 参数:输入单独的连接详细信息,例如服务器名称、数据库名称、用户名和密码。

  • 连接字符串:直接输入完整的连接字符串,以便进行更高级的配置。

  • 浏览 Azure:浏览 Azure 帐户中的可用数据库实例和数据库,并提供按订阅、资源组和位置进行筛选的选项。

  • 连接组:通过将连接分组到文件夹中并分配颜色来组织环境,以便快速识别视觉对象。 创建或更改连接时轻松分配或更改组。

连接对话框包括 “已保存的连接” 和“ 最近连接” 面板,以简化重新连接到以前使用的服务器。 该布局支持编辑和保存连接详细信息,并便于在服务器或数据库之间切换。

连接对话框功能的屏幕截图。

对象资源管理器(筛选)

使用对象资源管理器可以浏览数据库对象,例如数据库、表、视图和可编程性项。 增强的筛选功能使在大型和复杂的数据库层次结构中查找特定对象更容易:

  • 应用筛选器:按名称、所有者或创建日期等属性筛选数据库对象。 可以在多个级别应用筛选器,包括数据库、表、视图和可编程性。

  • 编辑筛选器:优化或更新现有筛选器以进一步缩小对象列表的范围。

  • 清除筛选器:删除已应用的筛选器以查看层次结构中的所有对象。

这些筛选器提供灵活性和控制,使管理大型数据库并查找相关对象变得更加容易。

“对象资源管理器筛选器”功能的屏幕截图。

表设计器

表设计器提供用于为数据库创建和管理表的 UI。 它提供的高级功能可以定制表结构的各个方面:

  • :添加新列、设置数据类型、定义为 Null 性并指定默认值。 还可以直接在界面中将列指定为主键或标识列。

  • 主键:将一个或多个列定义为表的主键,确保每行唯一可识别。

  • 索引:创建和管理索引,以便通过添加额外的列作为索引来提高查询性能,以加快数据检索速度。

  • 外键:通过在其他表中添加引用主键的外键来定义表之间的关系,确保各个表的数据完整性。

  • 检查约束:设置规则以对所输入的数据强制实施特定条件,例如值范围或模式。

  • 高级选项:配置更复杂的属性和行为,例如系统版本控制表和内存优化表。

在设计器中,“脚本即创建”面板提供了一个自动生成的 T-SQL 脚本,它反映表设计。 你有以下选择:

  • 发布:选择“发布”,将更改直接应用于数据库。 此操作由 DacFX(数据层应用程序框架)提供支持,可确保可靠顺利地部署架构更新。

  • 复制脚本:从预览面板中复制生成的 T-SQL 脚本进行手动执行,或直接在编辑器中将其打开,以便根据需要进一步调整和修改。

表设计器功能的屏幕截图。

查看和编辑数据(预览版)

视图和编辑数据(预览版)提供了一种直观的交互式方式,可在编辑器中直接浏览和修改表数据,而无需编写 Transact-SQL 数据作语言 (DML) 语句。 开发人员可以在直观的界面中与其数据进行交互,从而简化从快速编辑到深入验证的所有内容。

若要使用此功能,请在对象资源管理器中右键单击表,然后选择“查看和编辑数据”(预览版)。 当表数据在新的编辑器标签页中的数据网格中打开时,内容以熟悉的类似电子表格的布局呈现,并且根据配置的每页行数提供分页控件。

关键功能包括:

  • 内联编辑:直接在网格中更新单元格值。 编辑会被实时验证,当输入不正确时,例如无效的数据类型或违反约束条件,系统会返回错误消息。 网格突出显示输入不正确的单元格(红色)。

  • 添加和删除行:插入新行或删除现有行,以便在开发和测试期间快速调整数据。

  • 分页:使用内置分页控件高效加载和导航大型数据集,实现流畅的滚动和卓越的性能。

  • 保存更改:所有编辑都保持挂起状态,直到选择“ 保存更改”,从而完全控制何时将更新提交到数据库。

  • 显示脚本:此窗格显示只读 DML 脚本,该脚本可实时反映数据网格中执行的所有作。 在保存更改之前,这样您可以查看基础 DML 操作。

“编辑数据”屏幕的屏幕截图。

“查询结果”窗格

Visual Studio Code 的 MSSQL 扩展提供了增强的查询结果体验,可帮助你有效地可视化和了解数据输出。 查询结果显示在 Visual Studio Code 的底部面板中,该面板还托管集成终端、输出、调试控制台和其他工具,从而创建了一个统一界面以便轻松访问。

提示

可以在展开视图的新选项卡中打开查询结果,类似于以前的体验。

“查询结果”窗格的主要功能包括:

  • 网格视图:以熟悉的网格格式显示查询结果,以便可以轻松检查数据。 可以在新的选项卡中显示结果,以获取更清晰、更有序的视图。

  • 复制选项:在结果网格中右键单击以访问“全选”、“复制”、“带标头复制”和“复制标头”等选项,从而方便传输数据用于其他用途。

  • 保存查询结果:包括将查询结果保存到多种格式(如 JSON、Excel 和 CSV)的功能,以便可以在 Visual Studio Code 外部处理数据。

  • 内联排序:可以通过直接在查询结果视图中选择列标题来对数据进行排序。 可以按升序或降序进行排序,以便更轻松地分析数据的特定子集。

  • 估计计划:“估计计划”按钮位于“运行查询”按钮旁边的查询工具栏中。 它显示为流程图图标,允许生成估计的执行计划,而无需执行查询本身。 此功能提供对查询性能的宝贵见解,有助于在运行实际查询之前识别潜在的瓶颈和低效领域。

  • 启用实际计划:一个标记为 “启用实际计划”的按钮,位于结果窗格右上角的“ 估计计划 ”按钮后面,可用于查看已执行的查询的实际查询计划。 此添加操作提供了更深入的查询性能见解,并帮助识别瓶颈和低效领域。

此查询结果体验支持用于查看和使用结果集的常见工作流。

“查询结果”功能的屏幕截图。

提示

可以使用设置自定义查询结果行为 mssql.openQueryResultsInTabByDefault 。 设置为 true时,查询结果默认在新的选项卡中打开,帮助整理工作区。

查询计划可视化工具

使用 Visual Studio Code 的 MSSQL 扩展中的查询计划可视化工具通过查看详细的执行计划来分析 SQL 查询性能。 此工具提供 SQL 查询运行方式的见解,以便识别瓶颈并优化查询。

主要特性和功能包括:

  • 节点导航:执行计划中的每个步骤都显示为节点。 可以通过不同的方式与计划进行交互。 选择节点以查看特定操作的工具提示或详细信息。 折叠或展开节点树以简化视图并专注于查询计划的关键区域。
  • 缩放控件:该可视化工具提供灵活的缩放选项,可帮助你详细分析计划。 可以放大或缩小以调整详细信息级别。 使用“缩放以适应”功能调整视图大小,以便整个计划适合屏幕显示。 设置自定义缩放级别以精确检查特定元素。
  • 指标和突出显示:指标工具栏可帮助你分析关键绩效指标并突出显示昂贵的作。 选择指标,例如 实际已用时间成本子树成本或从下拉列表 中读取的行数 ,以确定瓶颈。 使用这些指标在查询计划中搜索特定节点,以便进行更深入的分析。

右侧边栏提供对更多操作的快速访问:

  • 保存计划:保存当前执行计划以供将来参考。
  • 打开 XML:打开查询计划的 XML 表示形式,检查代码级别的详细信息。
  • 打开查询:查看直接从工具栏生成执行计划的查询。
  • 切换工具提示:为每个节点启用或禁用工具提示以显示更多详细信息。
  • 属性:查看执行计划中每个节点的属性,以及按重要性或按字母顺序排序的选项。

“查询计划可视化工具”功能的屏幕截图。

受支持的操作系统

目前,此扩展支持以下操作系统:

  • Windows (x64、x86、Arm64)
  • macOS (x64,Arm64)
  • Linux Arm64
  • Ubuntu 18.04、20.04、22.04
  • Debian 10、11、12
  • CentOS 7、8 / Oracle Linux 7、8
  • Red Hat Enterprise Linux (RHEL) 8, 9
  • Fedora 35, 36
  • OpenSUSE Leap 15

脱机安装

该扩展可以在激活期间下载并安装所需的 SqlToolsService 包。 仍然可以通过在“扩展”视图中选择“从 VSIX 安装...”选项,并从发布页面安装打包发行版,以便在没有 Internet 访问的计算机上使用该扩展。 每个操作系统都有一个包含所需服务的 .vsix 文件。 选择适合你 OS 的文件,下载并安装该文件以开始使用。 选择完整版本并忽略任何 alpha 或 beta 版本,因为这些版本是测试中使用的每日版本。

反馈和支持

如果你有想法、反馈或想要与社区互动,请在 aka.ms/vscode-mssql-discussions 加入讨论。 若要报告 bug,请访问 https://aka.ms/vscode-mssql-bug。 若要请求新功能,请转到 https://aka.ms/vscode-mssql-feature-request