NTech IncSnowflake Partner

Home / Snowflake / Migration / Teradata to Snowflake

Teradata migration

Teradata to Snowflake migration, with every report reconciled

The SQL converts more easily than most teams expect. The real work is in BTEQ and load scripts, Teradata-specific table behavior, and proving the numbers match. We convert, move and reconcile in waves, with Teradata running until each wave is signed off.

Quick answer

How do you migrate from Teradata to Snowflake?

A Teradata to Snowflake migration inventories objects and scripts from DBQL logs, converts DDL and SQL with SnowConvert, rewrites BTEQ scripts, macros and stored procedures, exports history with Teradata Parallel Transporter and loads it with COPY INTO, then runs both systems in parallel and reconciles tables and reports before a wave-by-wave cutover. SET tables, primary indexes and case-insensitive comparisons need special care.

Last updated · NTech Inc

Conversion

Teradata features and their Snowflake equivalents

TeradataSnowflakeWhat to watch
BTEQ scriptsSQL run by an orchestrator, dbt, or Snowflake CLI scriptsError handling such as .IF ERRORCODE and .GOTO must be rewritten
FastLoad, MultiLoad, TPTFiles to cloud storage, then COPY INTO or SnowpipeLoad scheduling and restart logic
SET tablesStandard tables (duplicates allowed)Teradata silently drops duplicate rows; Snowflake keeps them unless loads deduplicate
Primary index, partitioned primary indexNo indexes; micro-partitions and clustering keysLarge tables may need a clustering key on common filters
Unique primary indexPrimary key declared but not enforcedUniqueness must be enforced in the pipeline or tested with dbt
NOT CASESPECIFIC columnsComparisons are case-sensitive by defaultUse collation or UPPER() where Teradata matched case-insensitively
MacrosViews or stored proceduresParameterized macros become procedures
Stored procedures (SPL)Snowflake Scripting proceduresCursors and error handlers need review
Volatile and global temporary tablesTemporary or transient tablesSession scope and cleanup
QUALIFY, SAMPLEQUALIFY and SAMPLE supportedUsually converts directly
COLLECT STATISTICSNot neededRemove from scripts; Snowflake maintains metadata automatically

Approach

How a Teradata to Snowflake migration runs

  1. Inventory

    Tables, views, macros, procedures, BTEQ and TPT scripts, scheduler jobs, and the reports and extracts that read from Teradata, using DBQL query logs to see what is actually used.

  2. Wave plan

    Group objects by business domain so each wave delivers something usable, and retire what nobody queries.

  3. Convert

    Automated conversion of DDL and SQL with Snowflake's SnowConvert, then engineers rewrite scripts, procedures and anything flagged.

  4. Move history

    Export with Teradata Parallel Transporter to compressed files, stage in cloud storage, and load with COPY INTO in parallel.

  5. Keep in sync

    Run converted loads in parallel or replicate changes so Snowflake stays current during the parallel run.

  6. Reconcile

    Row counts, column checksums and aggregates per table, then report-by-report comparison signed off by business owners.

  7. Cut over and decommission

    Switch consumers wave by wave, then retire Teradata jobs and, finally, the platform.

Why move

Why companies leave Teradata for Snowflake

Cost model. Teradata capacity is bought ahead of demand. Snowflake bills compute for the time warehouses run, so quiet periods cost little, provided warehouses are sized and suspended well. See Snowflake cost optimization.

Workload isolation. Loads, transformations and BI each get their own warehouse, so a heavy batch job no longer slows dashboards.

Less administration. No index or statistics maintenance, no space management and no hardware refresh cycles.

Deliverables

  • Inventory and wave plan from DBQL usage
  • Converted, tested SQL and scripts in your repository
  • Reconciliation report for every table and key report
  • Snowflake role model and warehouse plan
  • Runbooks and decommission plan for Teradata

Contact us

Plan your Teradata to Snowflake migration

Tell us roughly how big your Teradata estate is and how many scripts and reports depend on it. A senior data architect will reply with an approach.

  • A senior engineer reads every message
  • Reply within one business day
  • No obligation, and your details are used only to reply

Prefer the full form? Go to the contact page.

FAQ

Questions buyers ask us

How do you migrate from Teradata to Snowflake?

Inventory objects and scripts using DBQL logs, plan waves by business domain, convert DDL and SQL with SnowConvert and rewrite BTEQ and procedures, export history with Teradata Parallel Transporter and load with COPY INTO, run both systems in parallel, reconcile tables and reports, then cut over wave by wave.

Does Snowflake support Teradata SET tables?

No. Snowflake tables allow duplicate rows, so pipelines that relied on SET tables to drop duplicates must deduplicate explicitly.

Is Teradata SQL compatible with Snowflake?

Mostly. Standard SQL and QUALIFY convert directly. Teradata-specific syntax, date formatting, case-insensitive comparisons and BTEQ commands need conversion.

What replaces BTEQ in Snowflake?

SQL run by an orchestrator such as Airflow, dbt models, Snowflake Tasks or Snowflake CLI scripts, with error handling rewritten for the new tool.

How long does a Teradata to Snowflake migration take?

It depends on the number of scripts, procedures and reports more than on data volume. A DBQL-based inventory gives a reliable estimate and wave plan.

Next step

Tell us what you need to build or who you need to hire.

A 30-minute call with a senior architect. You leave with a scoped plan or a role profile, whether or not you work with us.