你说得对!在 VS Code MSSQL Extension v1.35.0 版本中,微软正式将以下三大关键特性提升为 GA(General Availability),即具备稳定可用状态:Schema Designer(模式设计器)Schema Compare(架构/模式比较)Local SQL Server Containers(本地 SQL Server 容器支持)。(Microsoft for Developers)

下面是这三个特性的详细功能、适用场景以及一些使用建议 / 限制:


一、主要新增特性详解

1. Schema Compare(模式 / 架构比较)

  • 在 v1.35 中,Schema Compare 正式进入 GA 阶段,之前处于 Public Preview。(Microsoft for Developers)
  • 功能包括:
  • 在 GA 版本中还做了若干可用性 / 修复增强:

适用场景

  • 当你有多个开发 / 测试 / 生产数据库,需要同步架构更改时非常有用
  • 在数据库项目(如用 SSDT、DACPAC 或 Azure SQL 项目)里做版本控制 + 架构同步时
  • 在代码审查 / 部署流程中快速查看“架构变更”差异,减少人工对比或书写错误的风险

2. Schema Designer(模式 / 架构设计器)

适用场景

  • 在进行数据库模型设计(Schema-first 或 Code-first 混合方式)时直观编辑
  • 快速浏览现有数据库结构并进行可视化调整
  • 教学、架构展示、与团队交流时展示 ER 图 / 模型关系
  • 小型 /中型数据库项目,减少频繁手写 DDL 的负担

3. Local SQL Server Container(本地 SQL Server 容器支持)

  • 在 v1.35 中,本地 SQL Server 容器功能也迈入 GA 阶段,现在你可以直接在 VS Code 内启动 / 管理 SQL Server 容器,而无需手动使用 Docker CLI。(Microsoft for Developers)
  • 主要功能与关键点包括:
    • 容器创建:通过向导界面选择 SQL Server 版本(2025、2022、2019、2017)并设置端口 / 容器名 / 主机名等参数 (Microsoft for Developers)
    • 连接自动化:容器启动后,会自动为你创建一个连接配置,省去手动填写连接字符串的步骤 (Microsoft for Developers)
    • 容器生命周期管理:支持启动 / 停止 / 重新启动 / 删除容器,从 VS Code 的连接面板直接操作 (Microsoft for Developers)
    • Docker 环境检查:向导会检查 Docker 是否已安装、是否在运行,并在界面上显示状态(如果不满足条件,会提示错误)(Microsoft for Developers)
    • 端口冲突处理:如果默认端口 1433 被占用,扩展会自动为容器选择可用端口 (Microsoft for Developers)
    • 下载进度指示:在从 Docker 仓库拉取镜像时,会显示下载进度 UI 提示,避免用户对“无反馈”状态产生困惑 (Microsoft for Developers)
    • 日志自动滚动:启动 / 容器日志会自动滚动显示最新输出,便于追踪状态变化 (Microsoft for Developers)
    • 版本记忆:上次使用的 SQL Server 版本会被记忆,方便下次创建时快速选择 (Microsoft for Developers)
  • 需要注意的是,该功能主要用于 开发 / 测试环境,不适合生产部署。(InfoQ)
  • 当前不支持容器中的备份 / 还原 / 集群配置等复杂操作(在 GA 文档中有说明局限性)(InfoQ)
  • 容器化的 SQL Server 引擎对于资源(如内存)有基本要求 — 通常建议分配至少一定量内存 (例如 2 GB 起跳) 来保证正常运行。(InfoQ)

二、版本修正与其他增强

除了这三大主打新特性,v1.35 还带来了不少实用提升与 bug 修复:

项目说明
连接界面修复修复 Microsoft Entra ID 登录时可能出现租户 / 账户下拉列表为空的问题。(GitHub)
查询结果网格 / 显示性能优化查询结果显示 / 导出 / 显示问题,提升响应速度与稳定性。(GitHub)
Plain Text 视图在结果集中新增 “Text View 模式”,可将查询结果以纯文本形式查看 / 复制。(GitHub)
会话范围记忆 SQL 认证密码在 VS Code 会话期间暂存 SQL 认证密码(重启 VS Code 后失效)以减少反复输入。(GitHub)
本地化 / 可访问性改进对象资源管理器等 UI 的本地化支持增强,修复多个可访问性问题(比如错误消息、视觉提示等)(Microsoft for Developers)
GitHub Copilot 与连接切换边界处理修复在切换数据库连接时,Copilot Agent 模式下可能出现的不一致响应 / 边界错误问题。(GitHub)

三、使用建议与注意事项

当你在升级或采用 v1.35 的这些新特性时,可以参考以下建议,以避免踩坑并发挥更好效果:

  1. 适度使用架构比较 / 设计器
    在进行数据库重构 / 增量修改时,先在 dev / 测试环境使用 Schema Compare + Designer 进行预览部署,确认无误后再应用到生产端。
  2. 保留脚本 / 版本控制
    即便通过可视化界面修改架构,也建议导出或保存对应的 T-SQL 变更脚本,将这些变更加入版本控制以留痕。
  3. 资源规划
    本地 SQL Server 容器在性能上受机器资源限制;确保你的开发机 Docker 环境能提供足够内存 / CPU 给容器。
  4. 容器持久化
    通过容器方式进行开发,注意数据持久化机制(如挂载卷、备份策略),避免重建容器时数据丢失。
  5. 了解限制 / 功能覆盖
    目前 Local Container 不支持的一些复杂操作(备份 / 恢复 / 集群配置等)仍需借助外部工具或手写脚本。
  6. 版本兼容性 / 回退机制
    在升级扩展或切换数据库版本之前,备份扩展配置 / 工作区配置;如遇问题可回退到先前版本。
  7. 多环境 / 多数据库同步注意一致性
    对于存在多个环境(开发 / 测试 / 生产)和多个数据库实例的项目,使用 Schema Compare 时要严格控制源 / 目标对象,谨防误操作或误同步。

太好了 👍
那我们来做一个 VS Code MSSQL Extension v1.35 实战教程,结合三个重点功能演示:

✅ 1️⃣ 启动本地 SQL Server 容器
✅ 2️⃣ 连接数据库并创建示例表
✅ 3️⃣ 使用 Schema Compare 对比两个数据库
✅ 4️⃣ 用 Schema Designer 可视化修改表结构
✅ 5️⃣ (可选)导出并应用差异脚本


🧩 一、准备环境

1️⃣ 安装依赖

  • VS Code(最新版)
  • MSSQL 扩展 v1.35.0 或更高
    • 打开 VS Code → 扩展(Extensions) → 搜索 “MSSQL” → 安装 Microsoft 出品的版本。
  • Docker Desktop
    • 确保已安装并在后台运行。

🐳 二、启动本地 SQL Server 容器(Local SQL Server Container)

步骤:

  1. 打开 VS Code → 左侧打开 MSSQL 扩展面板(数据库图标)
  2. 点击 “+ Create Local SQL Server Container”
  3. 在向导中选择:
    • SQL Server Version: 2022 或 2025
    • Container Name: local-sql-demo
    • Port: 默认 1433(如被占用,系统自动换端口)
    • Password: 输入一次性管理员密码(如 P@ssword1234

创建完成后,VS Code 会自动:

  • 启动容器;
  • 在 MSSQL 扩展面板中显示新的连接;
  • 自动登录到该数据库。

✅ 小贴士
你可以在 Docker Desktop 的“Containers”标签页中看到 local-sql-demo 运行中。


🧱 三、创建两个测试数据库

我们用两个数据库模拟“开发库”与“生产库”,稍后对比差异。

操作步骤:

  1. 在 VS Code 的 SQL 编辑器中连接本地容器。
  2. 执行以下 SQL:
-- 创建两个数据库
CREATE DATABASE DevDB;
CREATE DATABASE ProdDB;
GO

-- 在 DevDB 中创建表
USE DevDB;
CREATE TABLE Employees (
    Id INT PRIMARY KEY IDENTITY(1,1),
    Name NVARCHAR(50),
    Position NVARCHAR(50),
    Salary DECIMAL(10,2)
);
GO

-- 在 ProdDB 中创建旧版本的表(少一列)
USE ProdDB;
CREATE TABLE Employees (
    Id INT PRIMARY KEY IDENTITY(1,1),
    Name NVARCHAR(50),
    Position NVARCHAR(50)
);
GO

现在:

  • DevDB.EmployeesProdDB.Employees 多了一列 Salary
  • 稍后我们将使用 Schema Compare 检测并同步这一差异。

⚖️ 四、使用 Schema Compare 比较数据库差异

步骤:

  1. 在 VS Code 命令面板(Ctrl + Shift + P)中输入: MSSQL: Schema Compare
  2. 选择:
    • Source → DevDB(开发库)
    • Target → ProdDB(生产库)
  3. 点击 “Compare”
  4. 稍等几秒后,会出现可视化的差异界面(类似 Git diff):
    • Employees 表会被标记为 “Different”;
    • 展开可看到新增的列:Salary DECIMAL(10,2)
  5. 可操作选项:
    • ✅ 勾选 “Apply” → 将差异同步到目标数据库;
    • 或选择 “Generate Script” → 导出 SQL 差异脚本(推荐)。

导出脚本示例(系统自动生成):

ALTER TABLE [dbo].[Employees] ADD [Salary] DECIMAL(10,2) NULL;

执行该脚本后,ProdDB 就与 DevDB 保持一致。


🧩 五、使用 Schema Designer 可视化查看与编辑表结构

打开方式:

  1. 在对象资源管理器(Object Explorer)中右键 Employees 表 → 选择: Open in Schema Designer
  2. 会打开一个 ER 图风格的界面:
    • 左侧是表名;
    • 右侧显示字段、类型、键、关系;
    • 可以拖动、编辑、重命名列;
    • 支持添加外键、关系连线。
  3. 编辑完成后点击 “Apply Changes”
    系统会自动生成对应的 ALTER TABLE SQL 语句。

💡 你可以用 Designer 创建新表、修改列名、或删除表结构,所有更改都有 SQL 预览。


📦 六、实战总结

步骤工具作用
启动 SQL 容器Local SQL Server Container一键搭建开发环境
创建数据库SQL 编辑器初始化测试数据结构
比较架构差异Schema Compare可视化发现结构不同
同步或生成脚本Schema Compare自动生成迁移 SQL
可视化修改Schema Designer图形化调整表结构

⚙️ 七、附加建议

项目建议
版本控制将生成的脚本放入 Git 项目管理(如 /db/migrations 文件夹)
测试流程永远先在测试库执行同步,再推广到生产库
容器数据持久化启动容器时建议使用挂载卷(-v 参数)防止数据丢失
SQL 登录凭据可用 .env 文件或 VS Code Secret Storage 管理

抱歉,我目前无法直接打开该网址,但你可以点击或访问以下链接查看官方原文:

🔗 VS Code MSSQL Extension v1.35 GA: Pattern Matching, Designer, and Local Containers