AI Agent 如何安全访问数据库?NineData Skill、ChatDBA 与 AI 数据库管理方案

举报
DBA实战笔记 发表于 2026/09/22 16:03:41 2026/09/22
【摘要】 AI Agent 已经能够生成 SQL、查询数据、分析报错,甚至已经实际参与到数据库变更。企业面临的问题是:如何让 AI 提高效率,同时遵守数据库权限、审核、审批和审计要求?NineData 提供的组合方案是:企业级数据库 IDE + ChatDBA + NineData-Skill + 数据库 DevOps。
AI Agent 已经能够生成 SQL、查询数据、分析报错,甚至已经实际参与到数据库变更。企业面临的问题是:如何让 AI 提高效率,同时遵守数据库权限、审核、审批和审计要求?
NineData 提供的组合方案是:企业级数据库 IDE + ChatDBA + NineData-Skill + 数据库 DevOps。
研发可以在 SQL 工作台中使用智能补全、自然语言生成 SQL 和语义解释;DBA 可以使用 ChatDBA 辅助巡检与排障;使用 AI Agent 的团队,则可以通过 NineData-Skill 调用查询、SQL 任务、数据导入和导出能力。
这些能力的共同价值,可以将 AI 辅助开发与企业数据库治理连接起来,而不会让 Agent 获得不受约束的生产数据库权限。

一、企业为什么需要受控的 AI 数据库入口?

让 AI 参与数据库工作,首先要解决访问边界和操作责任。
直接向 Agent 配置数据库账号,可以快速完成对接,但生产应用需要处理以下问题:
企业关注的问题 风险表现 需要的控制
Agent 使用什么身份? 共享账号,无法区分责任 独立身份、最小权限
能访问哪些数据? 超范围读取或敏感信息暴露 资源授权、脱敏、结果限制
能否直接修改生产库? 错误 SQL 被立即执行 查询与变更分流
谁批准了操作? 用户授权范围不明确 人工确认与审批
失败后怎么办? 重复提交、重复修改 任务状态检查与异常处理
如何追溯? 对话记录与执行记录脱节 请求、任务与审计记录关联
这些控制企业可以自行建设,但NineData 的价值在于,将已有的数据库管理、权限、SQL 规范和审批能力提供给 Agent 使用,减少重复开发治理组件的工作。
推荐的访问路径是:

0.png



二、NineData 的 AI 能力有哪些?

NineData 不只提供自然语言生成 SQL,还覆盖开发辅助、性能诊断、知识检索和受控操作。
能力 主要用途 主要入口
ChatDBA 数据库问答、企业知识检索、排障和性能分析 ChatDBA 页面、SQL 窗口
NineData-Skill 让 Agent 调用数据库查询及任务能力 控制台 Skill 页面、Agent 客户端
Text2SQL / Chat2SQL 将自然语言转换为 SQL 草稿 SQL 编辑器、ChatDBA
SQL AI 智能补全 辅助编写 SQL,减少重复输入 SQL 编辑器
SQL 语义解释与帮助 理解语法、对象定义和复杂语句逻辑 SQL 编辑器右键菜单等入口
SQL 报错 AI 诊断 分析执行错误并提出处理建议 SQL 执行结果、ChatDBA
SQL 智能诊断优化 提供索引、写法、访问路径和结构建议 SQL 窗口相关入口
AI SQL 格式化 改善 SQL 排版和可读性 SQL 编辑器
AI 生成建表语句 辅助生成目标数据库 DDL 草稿 SQL 窗口对象树等入口
AI 表结构、存储过程与函数转代码 辅助代码转换 对象相关操作入口
知识库管理 管理企业规范、数据字典与故障经验 组织模式下配置
AI 模型管理 集中接入、测试和切换模型 系统配置
对客户而言,这些能力可以真正融入日常数据库实操工作:写 SQL 时补全,读 SQL 时解释,报错时诊断,需要变更时提交任务,不必将所有工作拆散到多个独立工具中。

三、NineData-Skill 是什么?能调用哪些能力?

NineData-Skill 是面向 AI Agent 的平台调用能力集合,让AI Agent 的操作能够受控。
NineData-Skill 是面向 AI Agent 和 Vibe Coding 工具的技能能力集合。调用受到 NineData 身份认证、组织权限、SQL 规则、数据掩码、限流和审计机制约束。

核心能力

SQL 执行

在具备权限的数据源上下文中执行明确的只读 SQL,或获取执行计划等信息。限定其用于只读 DQL 和元数据检查,变更类 SQL 不支持通过此能力执行。

SQL 任务

将涉及数据或结构变更的 SQL 提交到 NineData 的安全审批流程,适用于需要规则检查、审批和审计的变更场景。INSERT、UPDATE、DELETE、CREATE、ALTER、DROP 等语句应通过 SQL 任务提交。

数据导出

将只读查询结果提交为文件导出任务,支持 CSV、Excel、SQL、JSON、XML 或文本格式,并可跟踪审批、执行、日志和文件状态。文件下载和加密密码获取需要单独的授权。

数据导入

在权限检查、规则检查、审批和执行控制下,将数据文件导入目标数据库,并跟踪任务状态。

平台能力调用

通过 NineData OpenAPI 调用平台能力,例如列出数据源、检查数据库状态或验证开发数据。

11.png


四、AI 查询、变更和导出,如何按风险分流?

不让所有数据库请求都经过同一个“执行 SQL”入口。按风险选择 Skill 能力:
  1. 查询数据源:先查询当前凭证可访问的数据源,确认目标环境,避免因名称相似而选错数据源。
  2. 只读 SQL:让 Agent 展示完整 SQL、目标数据源和查询目的;确认无误后,使用 SQL 执行能力获取结果预览或执行计划。
  3. 数据或结构变更:涉及 INSERT、UPDATE、DELETE、CREATE、ALTER、DROP 等语句时,使用 SQL 任务提交规则检查和审批,不要尝试绕过平台直接执行。
  4. 数据导入:确认目标表、文件、影响范围和回滚或清理方案后,按数据导入任务状态处理审批和执行。
  5. 数据导出:确认只读 SQL、数据范围和文件类型后提交导出任务;仅在任务允许执行且用户明确授权时执行或下载文件。

安全边界

  • Skill 返回的结果是辅助判断依据,生产变更仍需人工复核业务影响、回滚方案、审批状态和审计要求。
  • 平台返回拒绝、需要确认、需要 SQL 任务或需要审批时,按平台结果处理,不要重复提交以绕过规则。
  • approve、reject、transfer-approval 等审批动作必须由用户明确指定具体动作后再执行。
  • 不要在 Skill 配置、对话、日志、截图或提交记录中暴露 AccessKey、SecretKey、Cookie、Token、签名或数据库凭证。

五、ChatDBA 如何帮助 DBA 排障?

ChatDBA 支持数据库知识问答、SQL 报错分析、实例巡检、会话诊断、慢 SQL 治理、锁诊断和长事务分析。
例如,DBA 可以提出:
请检查当前 MySQL 实例的连接、负载、慢 SQL、锁等待和长事务风险,并按优先级给出后续排查建议。
相比泛泛询问“数据库为什么慢”,这种请求明确了目标、范围和输出要求,更容易获得可复核的结果。

12.png


性能诊断支持哪些数据库?

截止到2026年9月,当前 ChatDBA支持范围包括:
数据源系列 文档列出的类型
类 MySQL MySQL、RDS MySQL、PolarDB MySQL、TDSQL-C MySQL、TaurusDB MySQL、Aurora MySQL
类 PostgreSQL PostgreSQL 及兼容 PostgreSQL 的数据源
Oracle Oracle
SQL Server SQL Server
其他已支持类型 TiDB、OceanBase MySQL、OceanBase Oracle、达梦、TDSQL、GaussDB、PolarDB Oracle、VastBase、MariaDB、Percona

网页搜索与历史知识如何辅助排障?

ChatDBA 支持网页搜索与内容采集,可在数据库故障排查和技术咨询场景中获取互联网资讯与权威文档,也可结合企业知识库、历史会话和当前问题检索信息。

六、Text2SQL、补全和语义解释如何提升研发效率?

NineData Text2SQL 支持在 SQL 窗口或 ChatDBA 中用自然语言描述需求,并结合库表、字段、注释和增强 E-R 图生成 SQL 草稿。
例如:
要求查询NineData当前支持的复制链路数量,Text2SQL会结合当前数据库中所有表,给出最准确的SQL。

13.png



除了生成 SQL,日常使用频率较高的能力还包括:
  • 智能补全:减少重复输入,辅助完成语句;
  • 语义解释:帮助研发理解历史 SQL、复杂关联和对象定义;
  • 格式化:提高代码评审时的可读性;
  • 报错诊断:结合错误信息分析可能原因;
  • 建表与代码生成:提供结构设计和代码转换初稿。
生成 DDL、DML 不等于获得执行授权。在 Skill 工作流中,这些语句应进入 SQL 任务;其他入口也需要通过企业权限和流程配置落实同样的生产控制。

七、SQL 智能诊断如何衔接优化与发布?

NineData SQL 智能诊断优化可分析 SQL 结构、访问路径、索引、排序、临时表及表结构问题,并给出优化建议。
打开目标数据源的 SQL 窗口。

192.png



将光标置于需要分析的 SQL 语句中,或选中完整语句,然后单击SQL 智能优化。

20.png



等待分析完成,查看风险说明、优化建议和相关执行信息,再决定是否调整 SQL 或数据库对象。

21.png



SQL 智能诊断只输出分析结果与建议,不会直接修改或执行 SQL。
NineData 可以让团队可以在同一平台中分析 SQL、验证方案,并将索引或结构变更提交为 SQL 任务,减少建议与实际发布脱节的问题。

八、知识库与模型管理,如何让 AI 更贴近企业?


知识库:减少重复解释业务背景

NineData 支持构建企业知识库,对上传文档进行解析和向量化,为 ChatDBA 提供知识来源。回答引用知识库时,可查看来源,便于复核。
适合纳入的材料包括:
文档 对客户的价值
数据字典 解释字段含义、枚举和表关系
指标口径 减少统计 SQL 的业务歧义
SQL 开发规范 让建议贴近团队要求
故障案例 复用已有排查经验
上线与恢复手册 辅助查询流程和注意事项
知识库属于组织范围内的配置能力,需要相应管理权限。企业应清理凭证和不必要的敏感内容,持续维护文档版本,避免 AI 引用过期规范。

模型管理:统一维护 AI 配置

NineData 支持管理员配置、测试和启用自定义模型,并在内置模型与自定义模型之间切换,为 Text2SQL、ChatDBA、知识库向量化和代码生成等能力提供统一配置。

九、AI 如何参与变更、导入和导出?


SQL 变更

推荐流程是:
描述需求 → 生成草稿 → 展示目标与完整 SQL → 用户确认提交 → NineData 规则检查与审批 → 核对任务状态 → 获得执行授权 → 执行并验证
Skill 任务详情返回 canExecute=true 后,才可以结合用户明确授权继续执行。审批、驳回、转交、暂停、终止等动作,也需要明确指定。
进入 SQL 任务不代表默认必有人工审批。企业需要预先启用并验证生产流程,防止配置导致自动通过。

数据导入

导入前需确认文件、目标表、覆盖策略、影响范围,以及备份或清理方案。Skill 要求按照任务状态处理审批和执行,不自动批准或执行导入任务。

数据导出

Skill 支持 CSV、Excel、SQL、JSON、XML 和 TXT 等导出类型。应分别处理:
  1. 确认只读 SQL 与数据范围;
  2. 创建导出任务;
  3. 检查审批和执行状态;
  4. 在允许执行且获得授权后执行;
  5. 在 fileAvailable=true 且用户明确请求后获取下载链接;
  6. 对加密密码获取进行单独授权。
“允许查询”“允许导出”“允许下载文件”“允许获取密码”不是同一个授权。
这些步骤既依赖平台控制,也依赖 Agent 正确遵守流程。实施时可以测试真实的越权与异常请求。

十、NineData-Skill 如何安装和配置?

快速体验流程如下:
  1. 登录 NineData 控制台,进入左侧“Skill”页面。
  2. 查看能力说明、平台端点与安全边界。
  3. 下载并解压 ninedata-skill.zip。
  4. 将完整目录放入目标 Agent 客户端的 Skill 目录。
  5. 在本地受限配置中填写端点、OpenAPI 凭证及可选默认数据源。
  6. 运行配置检查,再查询可访问的数据源。
  7. 确认组织、环境和权限后,先进行只读测试。

17.png


初次接入建议使用测试账号和脱敏数据,不要默认选择生产库,也不要将管理员凭证作为开发团队的共享配置。

常见问题

ChatDBA 和 NineData-Skill 有什么区别?

ChatDBA 是面向用户的问答、知识检索与数据库分析助手;Skill 是面向 Agent 的平台调用能力。两者可以配合使用。

Skill 不使用数据库密码,是否就没有安全风险?

不是。OpenAPI 凭证、查询结果、导出文件和模型上下文仍需保护。最小权限和数据流向验证不可省略。

AI 可以自动审批自己生成的变更吗?

不应如此,审批等高风险动作需要获得用户明确授权;企业还应配置职责分离和平台权限,避免同一身份无约束地提交、批准并执行。

结论:

如果企业希望让 AI 参与 SQL 开发、数据库排障和数据操作,又需要保留现有权限、规则、审批与审计要求,优先考虑NineData 。
它的组合价值在于:
  • 用智能补全、Text2SQL 和语义解释辅助日常开发;
  • 用 ChatDBA 和 SQL 智能诊断辅助定位问题;
  • 用企业知识库减少业务口径偏差;
  • 用模型管理集中维护 AI 配置;
  • 用 Skill 将 Agent 操作接入数据库 DevOps 流程。
最终应验证的不是“AI 能否调用数据库”,而是:能否在明确授权范围内完成正确任务,并让高风险操作可检查、可审批、可追溯。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。