DATA OPS

Live DDL Audit to PagerDuty for Breaking Snowflake Changes

Reads the Snowflake ACCESS_HISTORY/QUERY_HISTORY DDL stream every few minutes, isolates ALTER and DROP statements on production tables.

CategoryData Ops
Enginesim
Difficultyadvanced
Triggerschedule
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule fires (every 5 min)
  • ActionQuery QUERY_HISTORY for DDL since watermarkSnowflakeSnowflake
  • LogicFilter to destructive DDL on production databases
  • ActionWrite full audit record to AxiomAxiom
  • OutputOpen PagerDuty incident for out-of-window changesPagerDutyPagerDuty

What it does

Turns Snowflake's own query history into a real-time DDL audit. It scans recently executed statements, keeps only `ALTER TABLE ... DROP/MODIFY COLUMN` and `DROP TABLE` against production databases, and escalates destructive operations to on-call so the data platform is treated like production infrastructure.

When to use it

When anyone with warehouse access can run DDL and you need an immediate, paged response to a destructive change — not a daily report. Best for regulated or high-blast-radius warehouses where an unplanned column drop is an incident, not a ticket.

How it works

  1. 1A schedule fires every few minutes.
  2. 2Query `QUERY_HISTORY` in Snowflake for DDL statements since the last watermark.
  3. 3Logic step filters to destructive operations (DROP/MODIFY column, DROP table) on the production database list.
  4. 4For each match, ship the full statement, actor, and timestamp to Axiom for the permanent audit trail.
  5. 5If any destructive change was run outside an approved change window, open a PagerDuty incident with the actor and object named.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect AxiomLog streams, queries, dashboards.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.