新交互模式的SQL Console基于原SQL Console进行了升级,升级后的SQL Console支持在执行SQL前备份数据、定时执行SQL、预估SQL执行耗时和异步执行SQL等功能。
背景信息
DMS新交互模式的SQL Console,支持如下执行SQL的方式:
直接执行:建议预估影响较小(影响行数和执行耗时等方面)的SQL选择该方式。该方式是在SQL Console同步执行,且在SQL执行完成前,不允许在当前Tab下执行其他SQL。
后台异步执行:建议预估影响较大的SQL选择该方式。该方式会生成异步任务(通过提交数据变更工单执行,免审批),不会阻塞当前SQL Console执行SQL,也可避免因浏览器或网络原因导致任务执行中断的问题。
前提条件
实例的模式为自由操作或稳定变更。管控模式信息,请参见管控模式。
注意事项
自由操作实例有5次试用异步执行SQL的次数。目前系统给每个租户分配了5次试用次数,若试用次数用完,仍需要使用异步执行SQL,您可以购买稳定变更模式商品并变更实例的管控模式。具体操作,请参见购买DMS服务和变更管控模式。
稳定变更实例在非超级SQL模式下仅支持异步执行SQL,不支持直接执行SQL。超级SQL模式的更多信息,请参见超级SQL模式。
说明超级SQL模式下,若开启无锁变更,则仅支持异步执行SQL。若不开启,则两种执行SQL的方式都支持。
新交互模式的SQL窗口目前在公测阶段。如使用时遇到问题,请使用钉钉搜索钉钉群号21991247,加入钉钉群反馈。
仅当变更大表(200万及以上数据行)数据或结构时,系统才会为您提供无锁变更选项。
使用限制
结构变更不支持备份。
新交互模式的SQL窗口暂不支持安全协同实例使用。
进入SQL Console
您可选择如下任一方法进入SQL Console。
通过菜单栏进入SQL Console
- 登录数据管理DMS 5.0。
在顶部菜单栏中,选择 。
说明若您使用的是极简模式的控制台,请单击控制台左上角的图标,选择
。在请先选择数据库对话框中,搜索并选择数据库,单击确认。
通过实例列表进入SQL Console
- 登录数据管理DMS 5.0。
在页面左侧的数据库实例列表区域,找到目标数据库。
左键双击数据库名称,进入SQL Console。
准备工作
本文已提前创建好一张test_table表,并且插入相关数据。
使用SQL语句变更表数据
在SQL Console窗口中,输入并选中SQL语句,单击执行。
SQL语句示例:
UPDATE `test_table` SET `name` = 'Johnn' WHERE `name` = 'John';
在执行SQL前,SQL任务会进入校验阶段,在该阶段系统会自动进行如下操作:
对SQL进行解析和拆分。
校验SQL语句的执行者是否具有相关权限。如果权限校验失败,则会阻断执行进程,导致执行失败。如果校验成功,则进行下一步骤。
根据研发规范校验SQL。
根据SQL审核优化建议对SQL进行检查,并生成建议。您可根据建议调整、优化SQL语句。
预览SQL语句、查看预估影响行数和预估运行时长(单位:毫秒),便于提前全面评估变更SQL语句对业务的影响。
如果SQL语句存在问题,您可根据如下步骤进行修改:
单击SQL区域的图标,修改SQL语句。
修改完成后,单击再次锁定。此时,系统将会重新对SQL进行校验。
在变更建议区域,您可选择是否需要开启无锁变更、备份,以及是否需要定时执行该变更。
单击直接执行或后台异步执行。
查看执行结果。
在执行结果区域,单击,查看任务详情,包含执行的脚本、日志、获取备份和任务执行进度等。获取备份的操作,请参见SQL备份与回滚。
使用SQL语句变更表结构
在SQL Console窗口中,输入并选中SQL语句,单击执行。
SQL语句示例:
ALTER TABLE `test_table`ADD score DECIMAL ;
在执行SQL前,SQL任务会进入校验阶段,在该阶段系统会自动进行如下操作:
对SQL进行解析和拆分。
校验SQL语句的执行者是否具有相关权限。如果权限校验失败,则会阻断执行进程,导致执行失败。如果校验成功,则进行下一步骤。
根据研发规范校验SQL。
根据SQL审核优化建议对SQL进行审核,并生成建议。您可根据建议调整、优化SQL语句。
预览SQL语句、查看预估影响行数和预估运行时长(单位:毫秒),便于提前全面评估变更SQL语句对业务的影响。
如果SQL语句存在问题,您可根据如下步骤进行修改:
单击SQL区域的图标,修改SQL语句。
修改完成后,单击再次锁定。此时,系统将会重新对SQL进行校验。
在变更建议区域,您可选择是否需要开启无锁变更、定时执行该变更。
无锁变更:开启后,只能通过后台异步的方式执行SQL,更新表结构时将不会出现锁表的情况,同时您也可以实时地查看变更的进度。更多无锁变更信息,请参见无锁结构变更。
定时执行:设置执行数据变更的时间。
单击直接执行或后台异步执行。
查看执行结果。
在执行结果区域,单击,查看任务详情,包含执行的脚本、日志和任务执行进度(包含预估进展、运行参数等)等。