数据管理DMS的SQL审核功能,支持对上传的SQL语句进行审核并提供优化建议,避免无索引或不规范的SQL语句,降低SQL注入风险。
前提条件
数据库类型如下:
RDS MySQL、PolarDB MySQL版、AnalyticDB for MySQL、其他来源MySQL。
RDS MariaDB。
PolarDB分布式版。
Oracle。
PolarDB PostgreSQL版(兼容Oracle)。
OceanBase。
背景信息
项目研发过程中,需要通过数据库的增、删、改、查等SQL操作来完成业务逻辑的处理及页面数据的展现。而在项目正式发布到线上之前,需要对涉及的SQL进行全面的审核,避免不符合数据库开发规范的SQL发布到线上影响生产服务。例如如下建表语句未增加主键、未添加表格备注且未对字段增加备注信息:
CREATE TABLE `test_sql_review_table` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`gmt_create` datetime NOT NULL,
`name` varchar(256) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
若所有SQL都由DBA逐一进行人工审核,人力资源消耗过大,也容易降低研发效率。
现DMS推出的SQL审核功能将结合安全规则的SQL审核优化建议,对SQL进行审核并提供优化建议,您可以在安全规则中自定义SQL规范,例如表要有主键、限制主键列类型及限制主键包含列的个数等,更多信息,请参见配置SQL审核优化建议。
操作步骤
- 登录数据管理DMS 5.0。
单击控制台左上角的
图标,选择 。
若您使用的是非极简模式的控制台,在顶部菜单栏中,选择
。在页面右上角,单击SQL审核。
配置SQL审核工单参数。
单击提交申请。
系统将对SQL文件进行解析,并根据当前数据库的安全规则,对SQL语句进行逐条审核,返回的SQL审核优化结果包含必须改进、潜在问题、建议改进及索引推荐。更多信息,请参见配置SQL审核优化建议。
查看SQL审核结果。
系统将提供如下六种SQL审核检测状态:
状态
说明
动作
状态
说明
动作
检测通过
该语句不存在必须改进项,但可能存在潜在问题或建议改进项。
您可以单击详情,查看SQL语句与对应的SQL建议。
若需要调整SQL语句,您可以单击调整SQL,调整SQL语句。
检测不通过
该语句存在必须改进项。
请单击详情查看SQL建议,并单击调整SQL,调整SQL语句。
人工通过/人工不通过
除DMS审核SQL以外,若存在一些历史问题暂时无法修复或无需修复。
您可以选择
或人工不通过,手动标注检测结果。解析异常
DMS无法识别的SQL语句。
请单击调整SQL,调整SQL语句,并重新提交审核。
等待分析
DMS未开始识别SQL语句。
无
单击提交审批,管理员或DBA将再次确认SQL。
审批通过后即工单流程结束。
若存在检测不通过或解析异常状态的SQL语句,系统将在提交审批后报错。
上传文件示例
- 本页导读 (1)
- 前提条件
- 背景信息
- 操作步骤
- 上传文件示例