DMS提供功能强大的SQL Console,轻松实现对数据库读、写操作。同时,您可以结合安全规则,自定义配置SQL Console查询规范。本文将通过以下例子向您介绍SQL
Console的部分使用规范。
说明
- 为提高演示效率,本文档将以管理员账号进行演示。
- 本文档以开发库为例,您可以按此方法按需配置预发库、生产库等,更多信息,请参见实例环境说明。
说明 本示例中
poc_dev
实例的相关配置(表结构与安全规则等),请参见
准备工作与
结构设计。
进入安全规则详情页
- 以管理员账号登录DMS控制台。
- 在页面顶部,选择。
- 单击
POC开发库规则
右侧操作列下的编辑。
配置单次执行SQL的最大个数
- 配置安全规则。
- 进入安全规则详情页。
- 在详情页左侧的导航栏中,单击SQL窗口,并单击SQL执行数量规范。
- 找到控制单次执行SQL个数规则名,单击右侧的编辑。

- 替换如下规则DSL,并单击提交。
if
@fac.sql_count > 5
then
@act.reject_execute '单次执行SQL个数不能超过5个'
else
@act.allow_execute
end
说明 该段安全规则DSL表示:在SQL Console中,单次执行的SQL语句大于5个(系统默认值1000个)则拒绝执行,小于或等于5个则允许执行。更多安全规则语法介绍请参见
安全规则DSL语法。
- 在SQL Console中验证。
- 在DMS对象列表中展开
poc_dev
实例,双击poc_dev
数据库,进入SQL Console页。
- 在SQL Console窗口中,输入如下语句并单击执行。
SELECT 1;
SELECT 2;
SELECT 3;
SELECT 4;
SELECT 5;
SELECT 6;
说明 尝试一次执行6条SQL,系统会提示单次执行SQL个数不能超过5个。

配置单次查询的最大返回行数
- 配置安全规则。
- 进入安全规则详情页。
- 在详情页左侧的导航栏中,单击SQL窗口,并单击基础配置项。
- 找到单次查询最大返回行数规则名,单击右侧的编辑。

- 将配置内容设置为
3000
,单击提交。
- 在SQL Console中验证。
- 在DMS对象列表中展开
poc_dev
实例,双击poc_dev
数据库,进入SQL Console页。
- 在SQL Console窗口中,输入如下语句并单击执行。
SELECT * FROM `big_table`;
说明 尝试查询一张大表,系统会仅返回3000条结果。您可提交
数据导出工单查看更多数据。

配置结果集是否支持编辑
- 配置安全规则。
- 进入安全规则详情页。
- 在详情页左侧的导航栏中,单击SQL窗口,并单击基础配置项。
- 找到结果集是否支持编辑规则名,单击右侧的编辑。
- 打开配置内容开关,单击提交。
- 在SQL Console中验证。
- 在DMS对象列表中展开
poc_dev
实例,双击poc_dev
数据库,进入SQL Console页。
- 在SQL Console窗口中,输入如下语句并单击执行。
SELECT * FROM `big_table`
LIMIT 20;
- 在执行结果区域,修改目标数据,并单击提交修改。

- 在弹窗中,单击确认,并再次单击确认。
配置DML影响行数的阈值
- 配置安全规则。
- 进入安全规则详情页。
- 在详情页左侧的导航栏中,单击SQL窗口,并单击其他SQL规范。
- 找到禁止全表UPDATE执行规则名,单击右侧的禁用,并单击确认。
- 单击SQL执行性能规范,找到禁止DML影响行数超过阈值执行规则名,单击右侧的编辑。
- 替换如下规则DSL,并单击提交。
if
@fac.sql_type == 'DML' and @fac.sql_affected_rows > 1000
then
@act.reject_execute 'DML影响行数超过阈值1000, 拒绝执行'
else
@act.allow_execute
end
说明 该段安全规则DSL表示:在SQL Console中,执行语句为DML且影响行数大于1000行(系统默认值2000个)则拒绝执行,小于或等于1000行则允许执行。更多安全规则语法介绍请参见
安全规则DSL语法。
- 单击禁止DML影响行数超过阈值执行规则右侧的启用,并单击确认。
- 在SQL Console中验证。
- 在DMS对象列表中展开
poc_dev
实例,双击poc_dev
数据库,进入SQL Console页。
- 在SQL Console窗口中,输入如下语句并单击执行。
UPDATE `big_table` SET `name` = CONCAT(name,`a`);
说明 尝试对大表执行DML语句,系统会拦截该语句并提示该DML语句影响行数超过阈值1000,拒绝执行。

配置查询超时时间
- 配置查询超时时间。
- 在DMS对象列表中,右键单击
poc_dev
实例,从弹出的列表中选择编辑实例。
- 在编辑实例页面中,单击高级信息。
- 将查询超时时间设置为
10
秒,并单击提交。
- 在SQL Console中验证。
- 在DMS对象列表中展开
poc_dev
实例,双击poc_dev
数据库,进入SQL Console页。
- 在SQL Console窗口中,输入如下语句并单击执行。
SELECT COUNT( *) FROM `big_table` ;
说明 尝试一次SQL查询,系统将在10秒后终止查询。

在文档使用中是否遇到以下问题
更多建议
匿名提交