全部产品
云市场

SQL审核(SQL Review)

更新时间:2020-03-20 16:24:20

数据管理服务DMS支持SQL审核功能,旨在避免上线无索引SQL(性能差的SQL)、SQL书写不规范(例如SQL注入风险、select * 等不合规写法)等情况,本文将为您介绍SQL审核的操作步骤。

背景信息

  • 项目在研发过程中会通过数据库的增、删、改、查等SQL操作来完成业务处理逻辑、页面相关数据的展现。那么在项目正式发布到线上之前,需要对本次涉及到更新的所有SQL进行全面的审核,避免不符合数据库开发规范的SQL发布到线上影响生产服务。
  • 如果所有SQL都需要DBA逐个人肉审核,对人力将是一个极大的开销,随着业务的高频发展,对研发效率也比较难以保障。
  • SQL审核功能旨在帮助研发全自助的进行SQL审核并返回相关优化建议,实现研发全自助的变更上线支持。

注意事项

  • SQL审核发生在代码上线之前,所以目前仅针对DMS企业版内注册为测试环境的数据库资源。
  • 提交附件中SQL涉及到的相关表必须在所选数据库中存在,否则无法有效审核并给出索引建议。
  • 仅支持.xml.txt后缀的SQL文本附件提交进行审核,未来将开发.sql后缀的SQL文本附件进行提交审核。

操作步骤

  1. 登录数据管理企业版控制台

  2. 在上方导航栏中,单击优化>SQL审核入口

  3. SQL审核页面,单击+SQL审核新建工单

  4. 新建SQL审核页面,配置以下信息。新建SQL审核

    • 项目名称:按照实际项目需求进行输入,便于区分与后续跟进。
    • 数据源:选择本次项目使用的线下测试环境作为目标库,需要有目标数据库的变更权限。
    • 业务说明:按需求详细描述本次项目涉及的业务范围,以便于后续相关人员快速了解诉求。
    • 相关人员:输入@触发选择一个目标用户,可选择多个相关人员。
    • 上传文件:单击添加选择目标文件后,然后单击上传
      • ibatis和mybatis文件使用.xml后缀。
      • 纯SQL文本使用.txt后缀,SQL之间使用分号隔开。
  5. 完成配置后,单击提交申请

  6. 系统会按照需求进行相应的SQL审核操作。

    • 符合开发规范、存在索引的SQL自动通过审核(无推荐索引),系统会判断为已检测通过
    • 符合开发规范、不存在索引的SQL自动通过审核(有推荐索引),系统会判断为已检测通过
    • 对不符合开发规范的SQL,系统将会自动判断为检测不通过SQL审核
  7. 您可以单击查看原因查看SQL检测不通过的原因,也可从操作列表中的详情调整SQL更多进行对应的处理。

    说明:不合理的SQL进行调整后,点击确定则会重新检测该SQL(对于xml格式的动态SQL,需要给出每一种详细组合)。

    调整SQL

  8. 所有SQL都显示为已检测通过状态后,单击检查结果进行工单的审核提交。

    工单的审批流程为当前实例的安全规则所配置的流程。

    检查结果