创建文件审核任务
操作场景
审核文件中SQL语句是否符合规范及是否存在性能问题。
约束限制
- 规则的嵌套审核仅支持四种语法,详情可参见表1。
- 别名不能和实体表重名,且别名之间不能重名。
- 不支持审核视图中的表。
- 不支持审核数据库系统表及系统视图。
- 不支持审核含有“#”的MySQL语句。
- 文件审核中和审核完成后,将无法“重试”该任务。
- 如果使用系统模板进行审核时,新版本升级结束后,再次重试或者同文件审核,会导致审核结果不一致。为避免此现象发生,建议使用自定义模板。
- SQL审核最大可以创建110个审核任务,最多支持10个审核任务并发执行。
操作步骤
- 登录UGO控制台。
- 单击左侧导航栏“审核文件”页面。 ,进入
- 单击“上传审核文件”。
图1 上传审核文件
表1 上传审核文件参数说明 参数名称
示例
说明
数据库类型
GaussDB
下拉选择数据库类型。当前仅支持 GaussDB、MySQL和PostgreSQL。
数据源信息
app_db_01
下拉选择数据源,当前仅支持 GaussDB、MySQL和PostgreSQL。
非必选,若不提供数据源,默认跳过依赖数据源的审核规则。
Schema 信息
demo_schema_01
下拉选择数据源中的 Schema 名称。非必选且仅支持 GaussDB 和 PostgreSQL 数据库。
- SQL语句中有 Schema 名称,使用 SQL 语句中的 Schema。
- SQL语句中没有 Schema 名称,使用选择的 Schema。
- SQL语句中没有 Schema 名称,并且没有选择 Schema,默认使用 public。
规则模板
baseline_template_01
依据所选的数据库类型,下拉选择对应的模板。
具体模板信息可在新增规则模板中设置。
上传数据文件
sql_code.zip
上传符合要求的文件。文件要求为:
- 文件中的SQL对象名称当前仅支持小写,若输入大写的SQL对象名称,系统会自动转换为小写。
- 文件中仅允许包含增删改查等单语句SQL,不能包含其他语句,比如:存储过程、函数、触发器、package、匿名块等。如包含这些语句,文件中的SQL会被看成为一句SQL进行审核。
- 允许上传类型 zip、xml、sql、java、json类型的文件。
- 文件名只支持数字、字母、下划线、中划线。
- 文件名长度不能超过 240 个字符长度。
- 文件最大为5MB。
- zip内部文件,支持审核文件类型:xml、sql、java、json,其他文件类型会被自动跳过。
- 单文件最大10MB
- 数量最大10000。
- 文件名只支持数字、字母、下划线、中划线。
- 文件名长度不能超过 240 个字符长度。
- 上传文件中不能包含:二进制、明文密码、密钥等敏感数据,以保证数据的安全性。
说明:其中的json类型文件,仅支持解析数据复制服务DRS中流量回放功能生成的json文件。
是否推荐索引
打开
默认选择不推荐。
描述
针对业务查询 SQL 的审核任务
可添加对文件的描述,最多100个字符。非必填。
- 单击“确定”。下方列表生成对应记录。
图2 审核任务列表
其中“状态”显示当前上传文件的审核状态,审核状态有以下几种:
- 等待开始:等待SQL审核任务调度。
- 采集对象:扫描文件中的SQL语句。
- SQL审核:正在执行审核文件。
- 审核完成:已经审核完成。全部SQL审核完才代表整个文件审核结束。
- 审核失败:审核过程出现异常。