新交互模式的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,您可以购买稳定变更模式商品并变更实例的管控模式。 
- 稳定变更实例在非超级SQL模式下,仅支持异步执行SQL,不支持直接执行SQL。 说明- 在超级SQL模式下,若实例开启了无锁变更且变更的数据量小于100万,则两种执行SQL方式都支持;若实例未开启无锁变更或变更数据量大于100万,则仅支持异步执行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备份与回滚。 ,查看任务详情,包含执行的脚本、日志、获取备份和任务执行进度等。获取备份的操作,请参见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进行校验。 再次锁定。此时,系统将会重新对SQL进行校验。
 
- 在变更建议区域,您可选择是否需要开启无锁变更、定时执行该变更。 - 无锁变更:开启后,只能通过后台异步的方式执行SQL,更新表结构时将不会出现锁表的情况,同时您也可以实时地查看变更的进度。更多无锁变更信息,请参见无锁结构变更。 
- 定时执行:设置执行数据变更的时间。 
 
- 单击直接执行或后台异步执行。 
- 查看执行结果。 - 在执行结果区域,单击  ,查看任务详情,包含执行的脚本、日志和任务执行进度(包含预估进展、运行参数等)等。 ,查看任务详情,包含执行的脚本、日志和任务执行进度(包含预估进展、运行参数等)等。