Skip to main content
审核工单将一组 SQL、数据库类型与版本、审核策略、优先级及可选工作空间组合在一起,形成一条可跟踪、可复核的审核记录。

目标

创建一张将 SQL 与数据库类型、版本、审核策略、优先级及可选工作空间绑定的审核工单,形成可跟踪、可复核的记录。

填写工单字段

创建审核工单表单

创建审核工单是单表单页面,字段按顺序排列

创建审核工单在单个页面完成,按以下顺序填写:
1

标题(工单号)

标题默认按创建时间自动生成,例如 TK_202609141244。可按需改为能识别业务系统、变更内容和环境的名称。
2

选择数据库类型和版本

选择 SQL 实际运行的数据库类型与版本。类型决定方言解析和可用规则,版本决定版本相关规则是否适用。
3

选择审核策略

在下拉框选择匹配的审核策略(界面显示为“审核模板”)。策略决定启用的规则、风险级别和阈值。详见审核策略
4

设置优先级

选择工单优先级(低、中、高、紧急)。优先级用于排序、处理顺序和门禁判定,与审核后计算出的风险级别相互独立。
5

配置工作空间(可选)

需要识别表、列、约束、索引或生成优化建议时,选择与目标环境一致的工作空间。详见工作空间
6

输入 SQL

选择输入方式(SQL 文本、SQL 文件、MyBatis XML 文件或压缩包),粘贴或上传待审核 SQL。
7

填写工单描述(可选)

说明工单的具体需求和背景,便于审核人员理解变更意图。
8

创建审核

核对字段后提交,创建审核工单。

数据库类型和版本

数据库类型与版本不是普通标签,它们决定:
  • 使用哪种 SQL 方言解析;
  • 哪些审核规则可用;
  • 相同规则应使用什么参数值;
  • 版本相关规则是否适用;
  • 数据库专有语法是否能够识别。
不要为了让 SQL 通过解析而选择其他数据库或更高版本。

是否选择工作空间

SQL 输入方式

SQL 文本要求

  • 使用与目标数据库一致的语法;
  • 提交完整语句,不只提交局部条件或片段;
  • 多条普通 SQL 使用目标数据库及 PawSQL 当前版本支持的分隔方式;
  • 保留审核所需的注释,但移除密码、令牌和敏感业务信息;
  • 检查复制过程是否破坏引号、换行或特殊字符;
  • 不要把异常堆栈、应用日志或 Markdown 代码围栏一起提交。

SQL 文件要求

  • 使用当前版本支持的文件类型;
  • 采用产品支持且团队约定的字符编码;
  • 确认文件没有被压缩、加密或加入二进制内容(使用压缩包方式时除外);
  • 检查单个文件和单次工单的大小限制;
  • 文件名应能识别系统、变更和版本;
  • 上传前执行病毒检查和数据脱敏。
MyBatis XML 文件与压缩包同样适用上述文件类要求;具体支持的文件格式、包结构和大小的限制以当前产品版本为准。
普通多语句脚本通常使用分号分隔。存储过程、匿名块和部分数据库脚本可能包含内部分号或专有批次分隔符,应以当前 PawSQL 版本对目标数据库的支持方式为准。

参数化 SQL

应用 SQL 可能包含问号参数、命名参数或模板表达式。提交前:
  • 使用 PawSQL 支持的参数形式;
  • 保持参数数据类型和绑定顺序;
  • 用脱敏值替代真实业务数据;
  • 无法解析的动态模板应还原为一条代表性 SQL;
  • 需要执行计划时准备具有代表性的参数组合。

解析失败处理

  1. 确认数据库类型和版本。
  2. 缩小到一条最小复现 SQL。
  3. 检查引号、括号、注释和分隔符。
  4. 检查变量、批次命令和存储过程语法。
  5. 确认文件编码和不可见字符。
  6. 记录 PawSQL 版本、工单号、行号和完整错误信息。

预期结果

提交后工单进入等待、执行或完成状态,显示识别出的 SQL 数量,并可跟踪审核结果。

提交前检查

  • 工单标题(工单号)正确。
  • 数据库类型与版本正确。
  • 审核策略正确。
  • 优先级符合实际。
  • 识别出的 SQL 数量符合预期。
  • 工作空间与目标环境一致,或明确未使用工作空间。
  • SQL 已脱敏,语句分隔方式正确。
  • 工单进入等待、执行或完成状态,没有未经说明的部分失败。
提交前记录审核策略、优先级和工作空间。后续结果发生变化时,可以据此判断是 SQL、策略还是元数据发生了变化。
审核工单用于静态检查,并不代表 SQL 已被安全执行。即使审核通过,生产脚本仍需经过测试、备份、审批和发布控制。

常见问题

延伸阅读

审核策略

工作空间

查看审核结果

处理审核问题