DBeaver中仅Alt+X执行脚本支持开启执行前确认对话框,需右键数据库连接→编辑连接→SQL编辑器标签页勾选“执行脚本前显示确认对话框”,该设置仅对当前连接生效且不影响Ctrl+Enter。

执行前弹出确认对话框在哪关/开
DBeaver 默认不弹确认框,所有 SQL 执行都是“点了就跑”,没有二次提醒。是否启用确认弹窗,取决于你用的是哪种执行方式——它不是全局开关,而是绑定在具体执行入口上的行为设置。
Alt+X 执行脚本时的确认控制
整脚本执行(快捷键 Alt+X)支持“执行前确认”,但这个选项藏得比较深,且只对当前连接生效:
- 右键目标数据库连接 → 编辑连接
- 切换到 SQL 编辑器 标签页
- 勾选 执行脚本前显示确认对话框(英文界面为 “Show confirmation dialog before script execution”)
- 点击 完成 保存
注意:该设置仅影响 Alt+X 方式,不影响 Ctrl+Enter 或任务调度器。而且一旦勾选,每次执行脚本都会弹出含语句数、预计耗时(估算)、是否继续的对话框,无法跳过。
Ctrl+Enter 单条执行不支持弹窗确认
Ctrl+Enter 是单语句执行,DBeaver 没有为其提供“执行前确认”选项。这是设计使然:它被定位为快速调试操作,加确认反而打断节奏。如果你误点导致危险操作(比如没加 WHERE 的 DELETE),唯一补救是依赖事务回滚机制——所以务必确保连接已开启手动提交(Auto-commit 关闭),并在执行前检查 SQL 处理 设置里是否设为 停止+回滚。
为什么别依赖弹窗,而要靠事务+预检
真正容易出事的不是“多按一次确认”,而是脚本里混着 DDL 和 DML、跨库操作、或未测试的批量更新。DBeaver 的确认弹窗只问“要不要执行”,不校验语法、不预估影响行数、不提示权限缺失。相比之下,更可靠的做法是:
- 执行前手动开启事务(右键连接 → 事务 → 开始事务)
- 先用
EXPLAIN或Ctrl+Shift+E看执行计划,确认扫描行数合理 - 对 UPDATE/DELETE 加
LIMIT(MySQL)或RETURNING *(PostgreSQL)做小范围验证 - 生产环境脚本一律走任务调度器,并勾选 启用事务 和 失败时回滚
弹窗只是表层防护,事务控制和执行预检才是防止误操作的核心防线。


















