Case StudyEnterprise Data Warehouse Cloud Migration

Migrating an enterprise warehouse from SQL Server to Snowflake — end to end.

A Technical Program Manager's walkthrough of how a cloud data-warehouse migration is actually run: eight business functions, thousands of users, one legacy platform retired — planned, governed, cut over, and adopted without breaking trust in the numbers.

01Initiation
02Planning
03Execution
04Cutover
05Closeout

At a glance

The program in numbers

8
Business functions
~1,200
Source objects
400 → 250
Reports (rationalized)
~4,500
End users
5
Delivery waves
~9 mo
Concept → decommission

// A reference walkthrough illustrated with a representative scenario, generalized from hands-on migration work. Specifics are defensible in conversation.

The mental model

A migration is three programs running at once

Strip away the tooling and every EDW cloud migration is these three jobs happening in parallel. Everything in the plan serves one of them — and the third is the one most teams underbuild.

01 · Move the data

Migrate ~1,200 objects from SQL Server to Snowflake so the numbers are provably identical — code converted, history loaded, integrity preserved where the target won't enforce it.

02 · Preserve the reports

Every dashboard and extract that the business relies on keeps working after cutover — re-pointed or rebuilt, and parity-tested old-vs-new before anyone switches.

03 · Drive adoption

~4,500 people trust and use the new platform. Change management runs the whole length of the program, not a training week bolted on at the end.

The lifecycle

Five phases, delivered in waves

The program moves through Waterfall phase gates — you can't cut over before you've built and reconciled — while build and test happen in Agile sprints inside each wave. Click into any phase.

How to read this

Follow one golden thread

Rather than a tour of every object, this case study follows a single field — the Sales/Revenue close amount — through all five phases: how it's discovered, mapped, built, reconciled, cut over, and adopted. One thread makes an abstract lifecycle concrete.

The thread

dbo.FactOpportunity.CloseAmt  →  SALES.FACT_OPPORTUNITY.CLOSE_AMOUNT_USD

MONEY → NUMBER(19,4), normalized to USD. Owned by a Sales Finance SME. Watch for it in the green callouts on each phase page.