适用于 Visual Studio Code 的 GitHub Copilot for MSSQL 扩展

GitHub Copilot 与用于 Visual Studio Code 的 MSSQL 扩展集成提供 AI 辅助 SQL 开发。 可以使用它编写和优化数据库代码、生成和修改架构、了解现有逻辑以及处理代码优先和数据优先数据库开发模式。

此集成专为开发人员设计,重点介绍以下角色:

  • 新式应用程序开发人员:使用 Node.js、Python、.NET 和 Go 等框架生成功能丰富的可缩放应用程序。

  • AI/云原生开发人员:专门从事容器化、无服务器和基于微服务的应用程序,通常集成 AI 提供支持的功能。

  • 解决方案架构师:设计使数据库解决方案与更广泛的体系结构目标保持一致的端到端系统。

  • 数据库开发人员:重点介绍 Transact-SQL(T-SQL)、特定于数据库的概念以及优化数据库工作流。

Visual Studio Code 的 MSSQL 扩展是什么?

Visual Studio Code 中的 MSSQL 扩展支持 Fabric、Azure SQL 和 SQL Server 中的 SQL 数据库。

有关扩展的详细信息,请访问 GitHub 存储库

什么是适用于 Visual Studio Code 的 MSSQL 扩展的 GitHub Copilot?

适用于 MSSQL 扩展的 GitHub Copilot 为 Visual Studio Code 中的 SQL 开发提供 AI 帮助。 此工具有助于:

  • 使用代码优先方法和数据优先方法浏览、设计和修改数据库架构。
  • 根据架构上下文建议 SQL 语法、关系和约束。
  • 编写、优化和排查 SQL 查询问题。
  • 生成用于测试和开发的模拟数据和种子脚本。
  • 自动生成对象关系映射 (ORM) 迁移或 T-SQL 更改脚本。
  • 介绍存储过程、视图和函数中的业务逻辑。
  • 确定 SQL 注入风险或权限过多等安全问题。
  • 提供 T-SQL 代码的自然语言解释。
  • 描述现有的数据库架构和关系。
  • 基于数据库架构搭建数据访问层和其他后端组件。

支持的 SQL Server 平台

适用于 MSSQL 扩展的 GitHub Copilot 适用于所有这些 SQL Server 平台:

SQL Server

  • SQL Server 2019 (15.x)
  • SQL Server 2022 (16.x)
  • SQL Server 2025 (17.x)
  • 在任何平台上运行的 SQL Server:
    • Windows操作系统
    • Linux
    • 容器(本地部署和 Kubernetes 部署)

Azure SQL

  • Azure SQL 数据库
  • Azure SQL 托管实例
  • Azure 虚拟机中的 SQL Server

Microsoft Fabric

  • Fabric 中的 SQL 数据库
  • Fabric 数据仓库
  • Fabric Lakehouse (SQL 分析终结点)

目标受众

适用于 MSSQL 扩展的 GitHub Copilot 专为使用 Visual Studio Code 中的应用程序和 SQL 数据库的开发人员设计。

角色 DESCRIPTION
新式应用程序开发人员 使用 React、Angular、.NET、Django 和 Node.js等框架生成应用程序。 GitHub Copilot 有助于从代码库生成架构、查询创作和集成模式。
AI/云原生开发人员 生成无服务器、容器化和基于微服务的解决方案。 GitHub Copilot 生成 T-SQL 查询、管理架构更改,并协助使用云原生体系结构的数据访问模式,包括矢量搜索和混合检索方案。
解决方案架构师 跨服务和环境设计以数据为中心的系统。 GitHub Copilot 可帮助你可视化、验证和原型数据库交互。
数据库工程师 管理架构演变、写入 T-SQL 查询并优化性能。 GitHub Copilot 提供建议、解释代码并识别潜在的优化。

为任务选择模式

GitHub Copilot提供了多种交互模式。 使用此表选择合适的一项。

任务 请求模式 编辑模式 代理模式 计划模式
说明存储过程 推荐 是的
针对架构生成查询 推荐 是的
在多个文件中重构查询 推荐 是的
向每个表添加审核列并更新相关过程 是的 推荐 是的
从产品要求文档设计完整的数据模型 是的 推荐
连接、切换数据库、在聊天中运行查询 斜杠命令 推荐
使用人工智能协助直观地设计架构 架构设计器场景

有关每个模式的更深入说明,请参阅GitHub Copilot如何使用 MSSQL 扩展

交互界面

每个图面具有不同的架构感知。 了解在需要架构感知建议时应使用哪个界面。

Surface 提供者 模式感知? Article
聊天参与者(@mssql MSSQL 扩展 是(已连接数据库) @mssql 聊天(提问模式)
代理模式工具 MSSQL 扩展贡献工具 是(通过工具调用) 代理模式
计划模式 Visual Studio Code 是(通过 @mssql 提供的上下文) 计划模式
/ 命令 MSSQL 扩展 是的 斜杠命令
内联补全(幽灵文本) 直接使用 GitHub Copilot 模型 行内补全
架构设计器画布 嵌入式 GitHub Copilot 是的 架构设计器场景
数据 API 生成器画布 嵌入式 GitHub Copilot 是的 数据 API 生成器

内联补全(.sql 文件中的幽灵文本)无法识别您已连接的数据库架构。 对于架构感知 SQL 建议,请使用 @mssql 聊天参与者。 出于体系结构原因,请参阅GitHub Copilot如何使用 MSSQL 扩展

Features

功能 / 特点 地位 DESCRIPTION
@mssql 聊天(提问模式) GA @mssql 聊天对象进行自然语言对话。 基于您已连接的数据库和当前活动文件的模式感知建议。
代理模式 GA 多步骤工作流,其中GitHub Copilot协调 MSSQL 扩展工具(连接、列出数据库、运行查询)。 每次调用工具都需要你批准。
计划模式 GA 在编写 SQL 数据定义语言之前,先梳理数据模型。 与产品需求文档搭配使用,以进行规范驱动的设计。
斜杠命令 GA 常见任务的结构化提示:连接、列出数据库、运行查询、显示架构。 比输入完整的自然语言提示词更快。
行内补全 GA 键入时虚影文本。 适用于常见 SQL 模式。 无法查看您的数据库架构。
自定义指令 GA 让 GitHub Copilot 学习你们团队的 Transact-SQL(T-SQL)规范。 适用于请求、编辑、代理和内联完成。
智能查询生成器 GA 使用架构感知从自然语言生成 SQL 和对象关系映射 (ORM) 查询。
代码生成 GA 根据您的架构生成存储过程、表和 ORM 数据访问代码。
查询优化器助手 GA 性能建议、索引策略、执行计划分析。
业务逻辑解释器 GA 存储过程、视图和用户定义的函数的自然语言说明。
安全分析器 GA 检测 SQL 注入模式、过于宽松的角色和未加密的敏感数据。
本地化和格式设置帮助程序 GA 排序规则、Unicode 和区域特定的查询模式。
测试数据生成器 GA 生成真实的种子数据和 INSERT 语句。
使用 GitHub Copilot 的模式设计器 GA 视觉架构设计器画布中的嵌入式人工智能。 创建、演进和审查模式,并实时更新图表。
借助 GitHub Copilot 的数据 API 构建器 GA 使用自然语言配置 REST、GraphQL 和模型上下文协议(MCP)终结点。
架构资源管理器(聊天式) GA 通过 @mssql 聊天进行提示驱动的架构探索、创建和逆向工程。
对象关系映射集成 GA Entity Framework、Prisma、Sequelize、SQLAlchemy、Django ORM、TypeORM、Drizzle 和 Dapper 的参考。

先决条件

安装 Visual Studio Code

  1. 下载 Visual Studio Code
  2. 按照向导完成安装。

在 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 扩展的屏幕截图。

小窍门

如果不熟悉 Visual Studio Code 的 MSSQL 扩展,请参阅 Visual Studio Code 的 MSSQL 扩展

在 Visual Studio Code 中设置 GitHub Copilot

  1. 请确保拥有 GitHub 帐户。 如果没有,请在 GitHub 免费注册。

  2. 确保拥有有效的 GitHub Copilot 订阅。 可以在 GitHub Copilot 开始免费试用或购买订阅。

  3. 在 Visual Studio Code 中,打开 “扩展 ”视图(macOS 上的 Cmd+Shift+X 或 Windows 和 Linux 上的 Ctrl+Shift+X )。

  4. 搜索并安装 GitHub CopilotGitHub Copilot 聊天 扩展。

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

  5. 安装后,登录到 GitHub 帐户。 使用 Visual Studio Code 命令面板 GitHub Copilot: Sign in 或使用窗口底部的状态栏中的 GitHub Copilot 图标登录。

    Visual Studio Code 中 GitHub Copilot 登录的屏幕截图。

  6. 登录后,可能需要授权 GitHub Copilot 扩展访问 GitHub 帐户。 按照提示完成授权过程。

  7. 登录时,GitHub Copilot 处于活动状态,可在编辑器中编写代码时提供帮助。

有关详细信息,请参阅 Visual Studio Code 中 GitHub Copilot 的官方快速入门

连接到数据库

若要开始使用适用于 MSSQL 扩展的 GitHub Copilot,请从 Visual Studio Code 中的 “连接” 视图连接到受支持的 SQL Server 或 Azure SQL 数据库。

注释

有关如何创建新连接配置文件并连接到数据库的分步说明,请参阅使用 MSSQL 扩展连接到Visual Studio Code的数据库

开始与数据库聊天

可以通过启动与数据库的聊天会话来开始使用 GitHub Copilot:

  1. 转到 MSSQL 扩展中的 “连接” 视图。

  2. 右键单击连接的数据库。

  3. 从上下文菜单中选择 “使用此数据库聊天 ”。

    显示数据库上下文菜单的屏幕截图,选择“使用此数据库聊天”选项。

选择此选项后,需要向 MSSQL 扩展授予对 GitHub Copilot 对话助手 提供的语言模型的访问权限。
为了启用有关数据库的上下文对话,需要此访问权限。

Copilot 访问通知占位符的屏幕截图。

批准访问权限后,将在所选数据库的上下文中打开 GitHub Copilot 聊天窗口。 现在,你已准备好提问、生成 Transact-SQL,以及使用自然语言探索架构见解。

管理数据库上下文

GitHub Copilot 使用当前的数据库连接来提供架构感知建议。 @mssql聊天参与者会自动检测连接状态并相应地调整其行为。

连接到数据库

在不使用活动数据库连接的情况下启动 Ask 模式会话 @mssql 时,聊天参与者会检测此情况,并提供建立连接的有用指南:

显示@mssql聊天参与者的屏幕截图,其中检测没有数据库连接,并提示用户进行连接。

可以通过多种方式连接到数据库:

  1. 使用 GitHub Copilot 的聊天界面:当参与者提示 @mssql 时,选择 “打开 SQL 编辑器并连接 ”按钮以启动连接对话框。

  2. 使用 MSSQL 扩展:从 MSSQL 扩展的连接视图中使用连接命令来创建或选择连接配置文件。

  3. 使用斜杠命令:键入 @mssql /connect GitHub Copilot 聊天以快速打开连接对话框。 有关更多与连接相关的斜杠命令,请参阅 连接管理斜杠命令

  4. 使用代理模式:如果使用 GitHub Copilot 智能体模式,则可以直接通过自然语言提示进行连接,而无需预先建立的连接。 有关代理模式如何处理连接的详细信息,请参阅 连接逻辑的工作原理

显示通过@mssql聊天参与者连接到数据库的完整流程的动画。

欢迎消息和数据库上下文

连接后, @mssql 聊天参与者会显示一条欢迎消息,其中包含当前的连接详细信息:

这是@mssql聊天参与者欢迎信息的屏幕截图,显示已连接数据库的详细信息。

欢迎消息显示:

  • 连接的服务器
  • 当前数据库名称
  • 可用的功能和帮助选项

切换数据库上下文

若要在工作时切换到其他数据库,请使用以下选项之一:

  • “更改数据库”按钮:使用 MSSQL 扩展边栏中的 “更改数据库 ”按钮。

    GitHub Copilot 聊天窗口和 MSSQL 扩展使用 Visual Studio Code 中的更改数据库选项更改数据库上下文的屏幕截图。

  • 状态栏:选择显示当前连接的状态栏面板(服务器、数据库、用户)。 您可以通过此操作打开一个下拉列表,从您已配置的配置文件中选择其他数据库。

    GitHub Copilot 聊天窗口和 MSSQL 扩展使用 Visual Studio Code 中的状态栏更改数据库上下文的屏幕截图。

    重要

    GitHub Copilot 需要一个活动数据库连接来提供有意义的架构感知建议。 如果没有连接, @mssql 参与者将指导你建立一个连接,然后再继续执行与数据库相关的任务。

  • 斜杠命令:在 GitHub Copilot 聊天中键入 @mssql /changeDatabase 命令以快速切换到其他数据库。 有关详细信息,请参阅 连接管理斜线命令

  • 代理模式工具:通过代理模式使用自然语言提示切换数据库。 有关详细信息,请参阅 代理模式下的连接管理

    注释

    使用 GitHub Copilot 智能体 模式时,无需预先建立的连接即可连接到数据库。 代理模式使用 MSSQL 扩展提供的工具通过自然语言提示或聊天变量(例如 #mssql_connect)处理连接。 有关详细信息,请参阅 连接逻辑的工作原理

GitHub Copilot 可检测你的连接状态,并提供上下文感知的支持,无论你是第一次连接还是在环境之间切换。

共享您的体验

为了帮助我们优化和改进 MSSQL 扩展的 GitHub Copilot,请使用以下 GitHub 问题模板提交反馈: GitHub Copilot 反馈

提交反馈时,请考虑包括:

  • 测试的方案:告诉我们你关注哪些领域,例如架构创建、查询生成、安全性、本地化。

  • 效果很好:描述任何感觉流畅、有帮助或超出预期的体验。

  • 问题或漏洞:包括任何问题、不一致或令人困惑的行为。 屏幕截图或屏幕录制特别有用。

  • 改进建议:分享改进可用性、扩大覆盖范围或增强 GitHub Copilot 响应的想法。