| name | snowpipe-bcdr |
| title | Snowpipe BCDR on Azure |
| summary | Snowpipe disaster recovery patterns for Azure ADLS Gen2 with failover, failback, and catchup procedures. |
| description | Use when designing or operating Snowpipe disaster recovery on Azure ADLS Gen2 — choosing between dual-pipe, RA-GRS, active-active, or Failover Group patterns, and running failover/failback/catchup. Triggers: snowpipe BCDR, snowpipe disaster recovery, snowpipe failover, dual pipe, active-active pipe, RA-GRS snowpipe, GZRS snowpipe, snowpipe catchup, pipe failback, snowpipe high availability, failover group snowpipe, snowpipe RPO RTO. |
| tools | ["snowflake_sql_execute","Read","Write"] |
| prompt | Help me design and implement a Snowpipe BCDR pattern on Azure ADLS Gen2 with failover and catchup. |
| language | en |
| status | Published |
| author | Snowflake Solutions Team |
| type | snowflake |
Snowpipe BCDR on Azure
Overview
This skill helps developers and data engineers design, implement, and operate Snowpipe business continuity / disaster recovery on Azure ADLS Gen2. Six patterns are supported — pick one based on your RPO, RTO, edition, and cost tolerance.
| # | Pattern | RPO | RTO | Cost | Complexity |
|---|
| 1 | Manual Catchup (single pipe) | Min–hrs | 30–90 min | Lowest | Low |
| 2 | Active-Active + Dedup | Zero | ~1 min | Highest | High |
| 3 | RA-GRS Read Pattern | Near-zero | 5–15 min | Medium | Medium |
| 4 | Active-Passive (SF + GRS) | Near-zero | 5–15 min | Medium | Medium |
| 5 | Snowflake-Only Failover Group | Near-zero | 5–15 min | Low–Med | Low |
| 6 | Dual Storage, Dual Pipes | Near-zero | 5–10 min | Medium | Medium |
Options 2–6 require Business Critical Edition for Failover Groups. On lower editions, only Option 1 applies.
Decision
Business Critical?
├── No → Option 1
└── Yes
├── Zero data loss? → Option 2
├── Azure is the failure? → Option 4 or 6
├── Snowflake is the failure? → Option 5
├── Have RA-GRS? → Option 3
└── Budget constrained? → Option 1 or 5
This skill is Azure ADLS Gen2 only. AWS S3 / GCS variants are out of scope.
Core Rules
- Single writer per file set. Only one pipe active per file set, except Option 2 (which dedups).
- Storage integration must allow both URLs:
STORAGE_ALLOWED_LOCATIONS = (
'azure://<primary>.blob.core.windows.net/<container>/',
'azure://<secondary>.blob.core.windows.net/<container>/'
);
COPY_HISTORY is replicated in Failover Groups but only retains 14 days. For longer history, maintain a backup table.