自动化与计划能力
以脚本片段、手工执行和历史核验组成当前可用的人工受控流程,并说明未来调度能力的边界。
适用场景
本页适合需要重复执行巡检 SQL、维护脚本或核验查询,但仍要求每次由人员审查、确认并留痕的开发者与 DBA。当前可靠做法不是把脚本直接交给应用内定时器,而是将操作拆成可复核的人工关卡:
- 保存经过审阅的常用 SQL 片段,减少重复输入与临时复制错误。
- 在正确连接和数据库上下文中手工执行,执行前复查影响范围。
- 通过结果集和 SQL 历史核对语句、状态、时间与耗时。
- 确需周期运行时,先独立评估外部调度器、数据库客户端或组织内执行服务,不假设 MagicDB Studio 提供专用调度 API。
涉及写入、清理、同步、迁移、导入或恢复的脚本,应先在非生产环境验证,并在生产执行前完成可恢复备份。对高风险 DDL / DML,不应仅因脚本曾成功运行就跳过本次确认。
入口路径
当前可操作路径:打开 SQL 工作台,连接目标数据源后编辑或复用 SQL;将稳定语句保存为脚本片段;需要执行时由操作人重新检查连接、数据库与参数,再手工运行;完成后进入 SQL 历史检索并核验记录。
前置条件
- 已安装并启动 MagicDB Studio;连接配置、网络和数据库账户已由操作人验证可用。
- 明确目标环境、连接名称、数据库或 Schema、脚本用途、预期影响行数及回退方式。
- 写操作已在测试或预发环境验证;同步、迁移、导入、恢复及批量修改前已完成备份与恢复演练或验证。
- 脚本中的环境差异参数已显式标记,敏感信息不写入可复用 SQL 片段。
- 如使用 AI 辅助生成或解释 SQL,已自行配置 Provider 与模型;AI 输出必须由人员审阅,不可直接视为可执行结论。
- 若准备接入外部调度器,已自行评估凭据存储、最小权限、超时、重试、并发、幂等、日志、告警和失败后的人工接管。
编号步骤
- 确定范围并准备脚本。在工单或操作记录中写明目标环境、对象范围、执行窗口、预期结果与回退方案。先把 SQL 放入工作台检查,避免直接在生产环境从未知来源粘贴执行。
- 审阅后保存脚本片段。确认语句不包含明文密码、固定生产连接信息或未经替换的危险参数,再保存为名称清晰的片段。名称建议表达用途和对象,不把“曾执行成功”当作长期正确性的保证。
- 执行前做预览与低风险核验。重新选择目标连接和数据库,先运行只读查询、条件计数或抽样语句确认筛选范围。对于 UPDATE / DELETE,重点检查 WHERE 条件和预计影响行数;对于 DDL,检查依赖对象与回退脚本。
- 由人员手工确认并执行。在约定窗口内手工触发;批量脚本需检查文件顺序、事务策略和遇错策略。运行期间观察状态和错误,不在结果不明确时盲目重复执行。
- 核验结果与业务状态。检查结果集、受影响行数和错误信息,再运行独立查询验证关键数据或结构。涉及同步、迁移、导入或恢复时,对源端与目标端分别抽样或计数核对。
- 回看 SQL 历史并留痕。按关键词、状态和日期定位本次记录,核对语句、执行时间、耗时及成功或失败状态;将必要信息登记到组织自己的变更记录中。发现异常时停止后续步骤,按预案回退或人工处置。
- 外部自动化仅在评估后实施。周期任务确有必要时,由团队选择并验证外部调度器或受控执行服务。先在隔离环境演练,再设置互斥、超时、有限重试和告警;不要假设桌面应用持续在线,也不要调用未经文档确认的内部接口。
参数说明
下表将当前能够用于人工受控流程的信息,与尚未提供或无法据现有文档确认的内置调度参数分开列出。
| 项目 | 状态 | 使用或处理方式 | 检查重点 |
|---|---|---|---|
| 目标连接与数据库上下文 | 当前可用 | 在工作台执行前由人员选择并复核 | 环境、主机、数据库或 Schema 是否正确 |
| SQL 文本与脚本片段 | 当前可用 | 保存、加载并在执行前再次审阅 | 参数、WHERE 条件、对象名及敏感信息 |
| 手工执行与批量脚本顺序 | 当前可用 | 由人员触发;批量场景先确认顺序和错误策略 | 依赖关系、事务边界、失败后是否可安全重试 |
| 结果集与 SQL 历史 | 当前可用 | 用于查看结果并按关键词、状态、日期核验记录 | 受影响行数、状态、时间、耗时与业务结果 |
| Cron 表达式 / 运行日历 | 内置能力未提供 | 没有可确认的应用内配置入口 | 如由外部系统承担,应自行验证时区、错过触发和重复触发策略 |
| 内置重试、并发与超时 | 内置能力未提供 | 不得假设存在默认值或自动保护 | 外部实现需限制重试次数、设置互斥和硬超时 |
| 计划任务专用凭据与用户权限管理 | 规划或开发中 | 当前不要依赖可视化授权或任务账户入口 | 外部方案自行落实最小权限、轮换、审计与撤销 |
| 内置通知、告警与失败补偿 | 未提供可确认配置 | 由外部调度与监控体系独立设计 | 告警接收人、升级路径、幂等和人工接管 |
预期结果
完成上述人工流程后,应能得到一组可检查、可追溯的结果,而不是一个未经确认的“自动成功”承诺:
- 经过审阅的脚本片段可供后续加载,且不包含敏感凭据或固定生产参数。
- 本次执行发生在经复核的连接和数据库上下文中,结果集或影响行数与预期相符。
- SQL 历史中能够定位本次语句、状态、时间与耗时,业务侧另有必要的变更记录。
- 失败时已停止后续动作,并依据错误信息、独立核验查询及备份或回退方案进行处置。
- 若采用外部调度,团队已证明其执行身份、幂等性、超时、互斥、告警与人工接管有效;这属于外部系统责任,不代表 MagicDB Studio 内置调度已上线。
常见问题
为什么找不到“创建计划任务”按钮?
因为调度自动化仍是规划或开发中能力,本页没有可确认的应用内创建入口。当前请使用脚本片段、手工执行与 SQL 历史完成受控流程;需要周期运行时,先评估组织已有的外部调度体系。
可以让外部调度器直接调用 MagicDB Studio 的内部接口吗?
不建议依赖未公开、未文档化的内部接口,其兼容性、认证方式和长期可用性均没有依据。优先使用数据库官方客户端、稳定的组织内执行服务或外部调度器明确支持的连接方式,并在隔离环境验证。
历史记录显示成功,是否代表任务完成?
不一定。成功状态通常只能说明语句执行层面未报告失败,还需核对受影响行数、结果数据和业务状态。同步、迁移、导入、恢复等操作应执行源端与目标端核验,并确认备份可恢复。
脚本失败后可以自动重试吗?
当前不要假设应用内存在自动重试。先判断脚本是否幂等、事务是否已部分提交以及失败原因;人工确认安全后再决定是否重跑。外部调度场景应设置有限重试、退避、互斥和告警。
能否用 AI 直接生成并自动执行维护 SQL?
AI 功能需要自行配置 Provider 与模型,输出必须人工审阅。应检查方言、对象范围、过滤条件、事务和回退方式,不应把模型输出直接接入无人值守生产执行链路。
MagicDB Studio