微软近期宣布终止对 Azure Data Studio 的支持。Azure Data Studio 是一款专为 SQL Server 和 Azure SQL 数据库设计的开发工具,原本定位为 SQL Server Management Studio(SSMS)的轻量级、以开发人员为中心的替代方案,侧重于查询的编写与测试,而非数据库管理。
对于开发人员而言,Azure Data Studio 确实是一款实用的工具:它简化了数据库探索,并能轻松生成可直接集成到代码中的查询。此外,其命令行界面也支持在必要时执行更低层次的管理操作。当然,SSMS 依然可以与 Azure 数据服务配合使用,但对于日常的查询构建任务而言,SSMS 往往显得过于笨重。
将 SQL 支持引入 Visual Studio Code
那么,应该用什么工具来替代呢?微软的建议是转向 Visual Studio Code(VS Code)的 MSSQL 扩展。这一答案并不令人意外——微软近年来正逐步将其大部分 Azure 开发工具从独立应用程序迁移至 VS Code 扩展。如果您此前也将 Azure Data Studio 用于其他 Azure 数据服务(如 PostgreSQL、Cosmos DB 等),它们也已经或即将拥有各自的 VS Code 扩展:PostgreSQL 和 Cosmos DB 的扩展已可用,MySQL 扩展正在开发中。
这种策略是合理的:VS Code 已成为众多开发人员工具链中的核心组件,无论他们使用 Windows、macOS 还是 Linux。通过以扩展形式(基于 VS Code 的 JavaScript SDK)交付工具,微软只需编写一次,即可在开发人员所使用的任何操作系统上运行。相较于 Visual Studio IDE,VS Code 更加轻量,内置终端易于访问,并能良好地支持本地与云端环境。
这一做法也延续了微软长期以来的理念:将工具带到开发人员所在之处。免费且广受欢迎的 VS Code 已经运行在大量开发人员的桌面上。通过混合搭配来自微软及第三方的不同扩展,原本标准的代码编辑器可以演变为一个定制化的开发环境,承载从语言支持、源代码控制到管理及生产力工具等大部分工具链。
SQL Server 与 Azure SQL 历史悠久,并受益于微软及第三方提供的众多开发与管理工具。新的工具集在此基础上进一步演进,并为现代技术提供了切入点——例如与 VS Code 中的 GitHub Copilot 工具进行集成。
认识 Visual Studio Code 的 MSSQL 扩展
当前版本的 MSSQL 扩展于 2024 年底推出,旨在支持微软的所有 SQL Server 数据库产品。它提供了连接本地及云端数据库的能力,支持浏览 Azure 帐户及数据库订阅,帮助用户追踪数据库实例的分布情况,找到整合资源、控制成本以及优化性能的切入点。该扩展会保存连接信息,从而简化跨项目中数据库的访问。
MSSQL 扩展的核心功能界面非常直观,能够展示现代关系数据库中的各类对象,并提供支撑数据库开发、管理与分析的工具。
构建与发布数据库
MSSQL 扩展覆盖了数据库开发生命周期中的不同角色。如果您正在为应用程序构建所需的数据结构,可以从其表设计器入手。该设计器采用离线工作方式,您可以在 VS Code 中设计表和索引,定义键与关系,从而构建复杂的数据结构。由于该工具是专门为微软 SQL 数据库设计的,它可以利用底层功能来帮助您获得优秀性能——例如定义内存优化表。
表设计完成后,扩展会生成相应的 T-SQL 脚本,用于创建或更新数据库模式。该脚本会显示在 VS Code 编辑器中,方便您检查并按需修改。重要的是,脚本可以保存在本地,作为模板使用,从而实现从本地开发数据库到 Azure 云端生产系统的部署。
当表和数据库设计就绪后,MSSQL 扩展会借助微软的 SQL Server 数据层应用程序框架(DacFx) 来发布和执行脚本。除了创建数据库,DacFx 还可以支撑数据库生命周期中的大部分操作,并能自动更新现有模式。DacFx 库是开源的,您既可以将其集成到自己的应用程序中,也可以在 VS Code 内直接使用。
开发与测试查询
除了数据库设计与部署,MSSQL 扩展还提供了编写和测试查询的框架。连接到 Microsoft SQL 数据库后,您可以使用其查询工具在编辑器内置的网格视图中查看结果,并支持将结果显示在单独的选项卡中。
该扩展的查询设计器一个非常实用的功能是静态查询性能分析器(即“估计执行计划”)。该分析器无需实际运行查询即可展示潜在的瓶颈和性能问题。其输出结果可用于进一步优化查询。当您对估计性能满意后,可以运行“启用实际执行计划”,针对目标数据库执行查询,获取实际运行结果以进行更深入的分析。
查询计划工具还包含一个可视化组件,将查询执行的各个步骤以图形树的形式展示,您可以浏览每个步骤并识别开销较高的操作,从而找到在不产生显著延迟的前提下获得所需结果的替代方案。
添加 API 与分析功能
完成数据库构建与查询测试后,您可以使用内置的 Data API Builder(目前为预览版)快速添加 REST API,从而更轻松地提取代码所需的数据。其他选项还包括提供 GraphQL API(用于更结构化的查询),或提供模型上下文协议(MCP)端点,从而支持代理或其他 AI 应用对数据执行自然语言查询,并实现 AI 交互中的数据接地。
MSSQL 扩展不仅仅面向开发人员和数据库管理员——VS Code 强大的 Python 支持也使得它成为业务分析师和数据科学家的热门选择。这些用户会对新增的 SQL Notebooks 支持(另一项预览功能)感兴趣。该功能提供了一个类似于 Jupyter Notebook 的交互式环境,便于以交互方式探索数据。在此工具中,围绕查询和结果使用 Markdown 注释,可以帮助您生成数据库的实时文档——尤其是在结合内存中列存储查询来处理大规模数据时,效果尤佳。
总结
Visual Studio Code 的 MSSQL 扩展有许多值得称道之处。它是对旧有工具的一次令人欣喜的现代化替代,不仅适用于构建与 SQL Server 或 Azure SQL 数据库交互的代码的开发人员,也同样适用于需要设计、测试数据库模式,并在本地部署与 Azure 云区域之间管理这些数据库的设计师和管理员。
随着 Azure 等超大规模云平台的出现,我们构建和管理数据库的方式已发生深刻变化。拥有一款不断添加新功能的灵活工具至关重要,它能以与底层平台相同的速度持续演进。而该工具能够直接嵌入我们现有的工具链,更是一大加分项——这也使得 MSSQL 扩展在安装完成后几乎可以立即投入使用。