위험 SQL 가드 (Danger Guard)
데이터 손실을 방지하기 위해 위험한 SQL 실행 전 자동으로 경고하는 기능을 안내합니다.
DROP / DELETE / TRUNCATE 자동 감지
SQL을 실행할 때 데이터 손실 위험이 있는 문장이 자동으로 감지됩니다.
| 위험 등급 | 대상 SQL | 설명 |
|---|---|---|
| Critical | TRUNCATE TABLE, DROP TABLE, DROP DATABASE, DROP SCHEMA, DROP INDEX | 데이터 또는 스키마가 영구적으로 삭제됩니다. 복구가 불가능합니다. |
| Warning | UPDATE (WHERE 없음), DELETE (WHERE 없음) | 조건 없이 전체 행에 영향을 줍니다. 의도하지 않은 전체 수정/삭제가 발생할 수 있습니다. |
실행 전 재확인 다이얼로그
위험 SQL이 감지되면 실행 전에 확인 다이얼로그가 표시됩니다. 사용자가 명시적으로 확인해야만 SQL이 실행됩니다.
확인 다이얼로그에는 다음 정보가 포함됩니다:
- 위험 등급 (Critical / Warning)
- 감지된 위험 SQL 내용
- 예상되는 영향 설명

TIP
WHERE 절이 없는 UPDATE/DELETE를 실행해야 하는 경우, 확인 다이얼로그에서 승인하면 실행됩니다. 중요한 데이터를 다룰 때는 Auto Commit을 끄고 실행한 뒤, 결과를 확인 후 Commit하는 것을 권장합니다.
커넥션 프로파일 보호 모드
커넥션 설정 → 프로파일 탭에서 커넥션별로 보호 모드를 설정할 수 있습니다. 이 설정은 개인 설정이며, 팀 공유 설정과는 별도로 적용됩니다.

| 보호 모드 | 동작 |
|---|---|
| 없음 (None) | 보호 기능 없이 모든 SQL을 자유롭게 실행합니다. |
| 확인 (Confirm) | DDL 문과 WHERE 절 없는 UPDATE/DELETE 실행 시 확인 다이얼로그를 표시합니다. |
| 읽기 전용 (Read-only) | SELECT 외 모든 SQL 실행을 차단합니다. |
환경 프리셋 기본값
환경 프리셋을 선택하면 보호 모드가 자동으로 설정됩니다:
- Local / Dev → 없음
- Staging / Prod → 확인 (Confirm)
보호 모드는 개인 설정이므로 팀원마다 다르게 설정할 수 있습니다. 역할 기반 DDL 제한(팀 설정)은 보호 모드와 별도로 적용되며, 두 조건이 모두 충족되어야 SQL이 실행됩니다.
