最新消息:关注人工智能 AI赋能新媒体运营

微软以DAB构建SQL MCP Server,放弃NL2SQL,转向确定性查询路线

科技资讯 admin 浏览

微软发布SQL MCP Server,该功能基于Data API Builder(DAB)2.0构建,使AI代理能够通过MCP(模型上下文协议)安全访问企业数据库,执行数据的新增、读取、更新与删除操作。该方案最大的技术特色在于不采用自然语言转SQL(NL2SQL),而是利用DAB内置的查询构建器生成确定性的T-SQL查询,降低AI直接生成SQL语句的不确定性。

微软SQL MCP Server与采用NL2SQL的数据库MCP Server形成区分,使大型语言模型不再直接根据自然语言生成SQL语句。微软认为,这种做法存在根本性风险,因为模型本身不具备确定性,相同输入不一定产生相同输出,且越复杂的查询越容易出现细微错误,而这类查询恰恰是用户最希望AI协助处理的。

微软SQL MCP Server改用NL2DAB路线,通过DAB的实体抽象层与内置查询构建器,将代理请求转换为格式正确的T-SQL,使生成的T-SQL更具可预测性和可测试性。

SQL MCP Server固定提供7个DML工具,包括describe_entities、create_record、read_records、update_record、delete_record、execute_entity与aggregate_records,无论后端数据库规模多大,代理端看到的工具数量始终保持一致。微软指出,此举是为了避免过多工具定义占用代理的上下文窗口,压缩推理空间。

SQL MCP Server继承了DAB原有的企业级功能。在安全性方面,DAB的实体抽象层允许企业控制哪些表、视图或存储过程对外暴露,也可为名称和字段设置别名,并为实体或参数补充说明,避免内部数据库结构直接暴露。基于角色的访问控制(RBAC)可在每个实体级别定义不同角色的读取、创建、更新与删除权限,相关规则会自动应用于REST、GraphQL与MCP端点,无需额外配置。

其支持的数据源包括Microsoft SQL Server、PostgreSQL、Azure Cosmos DB与MySQL,并可同时连接多个数据源。DAB 2.0还支持在同一部署中同时启用REST、GraphQL与MCP端点,使既有应用程序与AI代理可通过不同协议访问相同的数据层。

由于SQL MCP Server是一个容器化、零代码的解决方案,开发者仅需通过一份JSON配置文件即可完成部署与启动。此外,DAB 2.0还提供自动配置模式,在容器启动时自动检测数据库结构并动态生成配置,适用于快速搭建或数据库结构频繁变动的场景。

此外,SQL MCP Server集成Azure Log Analytics、Application Insights与OpenTelemetry,并提供健康检查端点,使企业可通过统一界面监控AI代理的数据访问活动。