Skip to main content
resource · snowflake

Stage

live rule families
1
schedulable
no
category
storage-services

Does ZopNight manage Stage?

Internal stages store files on Snowflake-billed storage charged per TB-month; external stages are pointers into your own S3, GCS, or Azure bucket and add 0 storage cost on the Snowflake side. Files left in internal stages after loads finish bill indefinitely, which is why ZopNight flags stages with no recent COPY activity.

A stage is a named location for loading and unloading data files. Internal stages live on Snowflake-billed storage; external stages are pointers into your own S3, GCS, or Azure container. That single distinction is the entire cost story: one kind bills on the Snowflake invoice per TB-month, the other bills nothing here at all.

Internal means Snowflake’s storage meter

Files PUT into an internal stage accrue storage charges the same way table bytes do, and they never expire on their own. An external stage carries no Snowflake-side storage cost: the bucket bills on your cloud invoice, under whatever lifecycle policies you set there, which also means cleanup tooling for external stages belongs to the cloud provider, not to Snowflake.

Loads finish, files remain

The common leak is pure inertia: files copied in for a load and never removed afterward. Month after month of load batches accumulates into a storage line nobody can attribute, because the tables involved were populated long ago and the pipeline authors have moved on. ZopNight tracks days since each stage’s last COPY activity and surfaces dormant stages as cleanup candidates.

Both kinds are inventoried

Discovery runs SHOW STAGES IN ACCOUNT and records internal and external stages alike, each parented to its database. External stages still matter to inventory even though their bytes bill elsewhere. They are topology, they hold credentials to reach your buckets, and they answer where pipes and COPY jobs read from.

Growth is account-wide, attribution is manual

Terminal window
SELECT usage_date, average_stage_bytes
FROM SNOWFLAKE.ACCOUNT_USAGE.STAGE_STORAGE_USAGE_HISTORY
ORDER BY usage_date DESC
LIMIT 30;

Snowflake reports internal stage storage as 1 aggregate figure per day for the whole account, good for spotting a growth trend and useless for pinning it on a stage. When the trend line climbs, enumerate suspects from SHOW STAGES and inspect individual candidates with LIST @stage_name;. Files whose timestamps predate your last load are the debris worth a REMOVE. The daily figures land with the usual ACCOUNT_USAGE delay of up to 3 hours.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

417 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

417 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·