[14편] 실행 중인 SQL을 멈춰봤다 — QueryPie 쿼리 모니터링
2026년 11월 8일
DB 접근 권한을 정하고 승인 절차를 마련해도, 운영하다 보면 이미 실행 중인 SQL을 살펴봐야 할 때가 있다. 조회가 평소보다 오래 걸린다는 연락을 받으면 누가 어느 DB에서 어떤 SQL을 실행했는지부터 찾게 된다.
이번에는 QueryPie의 Running Queries를 열어봤다. 개발자 계정으로 웹 SQL 편집기에서 쿼리를 실행하고, 관리자 계정에서 그 쿼리를 찾아 중단했다. 중단 후에도 같은 편집기에서 평소 쓰던 주문 조회를 할 수 있는지까지 확인했다.
1. 오래 실행되는 쿼리를 하나 준비했다
실습에는 앞서 사용한 Orders Control Lab과 Demo Developer 계정을 썼다. 웹 SQL 편집기에 접속한 뒤 아래 SQL을 실행했다.
SELECT SLEEP(300) AS acp_web_monitoring_demo;
이 SQL은 300초 동안 기다리는 테스트용 쿼리다. 주문 데이터를 바꾸지 않고, 관리자가 실행 중인 쿼리를 찾아볼 시간을 확보하기 위해 사용했다. 실제 장애나 과부하를 일으키는 실험은 아니다.

2. 관리자는 실행 중인 SQL을 한곳에서 볼 수 있었다
관리자 화면에서 Databases → Monitoring → Running Queries로 이동해 목록을 새로고침했다. 방금 실행한 쿼리가 나타났고, 실행 시각과 사용자, 연결 이름, 권한이 함께 표시됐다.
DB 계정 이름만 보고 사용자를 찾아다닐 필요 없이 Demo Developer가 Orders Control Lab에서 실행한 작업임을 확인할 수 있었다. 여러 사람이 같은 업무용 DB를 사용하는 환경이라면 이런 정보가 한 화면에 모여 있다는 점이 꽤 편하겠다.

3. 상세 화면에서 실행한 쿼리까지 확인했다
목록의 항목을 누르면 Running Query Details가 열린다. 사용자 이름뿐 아니라 Read-Only 권한, 대상 DB와 DB 계정, 접속 IP, 실제 SQL까지 확인할 수 있었다. Executed From에는 Web Editor가 표시됐다.
중단하기 전에 대상을 확인하기에도 좋았다. 이번에는 SQL에 넣어둔 acp_web_monitoring_demo라는 이름으로 내가 실행한 테스트 쿼리가 맞는지 확인했다. 운영 중이라면 이 화면에서 실행자와 SQL을 함께 보고 조치할 대상을 판단할 수 있겠다.

4. 선택한 쿼리를 관리자 화면에서 중단했다
상세 화면을 닫고 해당 항목을 선택한 뒤 Kill Query를 눌렀다. 쿼리를 중단할지 묻는 확인 창이 한 번 더 나타났고, OK를 눌러 진행했다.
실행 정보를 확인하던 화면에서 바로 조치할 수 있다는 점이 마음에 들었다. 이번 웹 편집기 실습에서는 별도로 DB 관리 도구를 열어 종료 명령을 입력하지 않아도 됐다.

개발자 화면으로 돌아가니 SQL 아래에 SQL Execution stopped가 표시됐다. 300초를 모두 기다리지 않고 관리자 조치로 실행이 멈춘 것을 확인했다.

관리자의 Running Queries 목록에서도 해당 항목이 사라졌다. 실행 전후를 양쪽 화면에서 확인하니 어떤 작업을 중단했는지가 분명했다.

5. 중단 후에도 필요한 조회는 계속할 수 있었다
같은 웹 편집기에서 테스트 SQL을 지우고 주문 조회를 실행했다.
SELECT order_id, status, total_amountFROM orders_control.ordersWHERE order_id = 4002;
주문 4002번의 상태 DELIVERED와 금액 32000.00이 정상적으로 나왔다. 이번에는 사용자의 접근 권한을 회수하지 않고 실행 중이던 쿼리만 중단했기 때문에, 이후에 필요한 조회를 이어갈 수 있었다.

6. 도입 담당자라면 운영 중 대응도 눈여겨볼 만하다
이번에 직접 해보니 QueryPie의 장점이 접속할 사람을 정하는 데서 끝나지 않는다는 게 느껴졌다. 사용자가 접속한 뒤 어떤 SQL을 실행하고 있는지 확인하고, 필요한 경우 관리자가 그 작업을 중단하는 흐름까지 이어졌다.
특히 실행자와 대상 DB, SQL을 같은 화면에서 확인한 뒤 조치할 수 있다는 점이 좋았다. 담당자가 상황을 파악하는 데 필요한 정보와 대응 기능이 가까이 있어, 운영 중 문제가 생겼을 때 활용하기 편하겠다는 생각이 들었다.
이번에 확인한 것은 웹 SQL 편집기에서 실행한 쿼리를 Running Queries의 Kill Query로 중단하는 과정이다. 실행 중인 작업은 멈추고, 정상적인 주문 조회는 이어갈 수 있었다. 접근 통제와 일상적인 DB 운영을 함께 살펴보려는 도입 담당자에게 소개하고 싶은 기능이다.
![[13편] 정산 정보가 필요할 때 — QueryPie 제한 데이터 접근 승인 실습](/assets/content/acp-lab-notes/restricted-data-approval/01.webp)
![[15편] 팀에 들어오면 DB 권한도 함께 — QueryPie 그룹 관리 실습](/assets/content/acp-lab-notes/group-permissions/01.webp)