DBXDBX

SQL 文件执行

选择连接后执行 .sql 文件,查看进度,并在需要时取消后续语句。

SQL 文件执行用于导入或运行本地 .sql 脚本。它适合执行初始化脚本、数据补丁、数据库导出文件和迁移脚本。

执行 SQL 文件可能修改大量数据或结构。运行前请确认目标连接、目标数据库和脚本来源,生产环境建议先备份。

使用流程

打开 SQL 文件执行

在 DBX 中打开 SQL 文件执行面板。

选择文件

选择本地 .sql 文件。大文件可能需要更长解析和执行时间。

选择目标连接

选择要执行脚本的数据库连接和数据库。

开始执行

点击执行后,DBX 会按语句执行并显示进度。

检查结果

执行结束后查看成功数量、失败语句和错误信息。

语句分割

DBX 会按流式方式读取 SQL 文件,并尽量正确识别语句边界,避免简单按每个分号拆分:

  • 字符串中的分号不会被当作语句结束
  • 行注释和块注释中的分号不会被当作语句结束
  • PostgreSQL 的 dollar-quoted 函数体会保持为同一条语句
  • SQL Server 的 GO 行会被识别为批次分隔
  • MySQL executable comments 会在导入前按目标连接处理:MySQL 兼容连接会展开可执行内容,非 MySQL 连接会跳过;ENABLE/DISABLE KEYSLOCK/UNLOCK TABLES、session 状态恢复这类导入辅助指令会跳过

数据库覆盖范围

SQL 文件执行面向 SQL 类数据库。Redis、MongoDB 和 Elasticsearch 不执行关系型 SQL 脚本,因此 DBX 会隐藏或禁用该功能。

错误处理

默认情况下,执行遇到错误会停止。你也可以启用“遇错继续”,让 DBX 继续执行后续语句并记录失败数量。

取消执行

执行过程中可以取消任务。取消只会阻止后续语句继续执行,已经提交到数据库的语句不会自动回滚。

如果脚本需要整体原子性,建议脚本本身包含事务控制,并确认目标数据库支持相关事务语义。

执行前检查

  • 当前连接是否是预期环境
  • 脚本是否来自可信来源
  • 是否包含 DROPTRUNCATE、大范围 UPDATEDELETE
  • 是否需要先在测试环境执行
  • 是否需要启用“遇错继续”
  • 是否需要先使用 数据库导出 备份

On this page