PowerLens
All posts
DataverseNovember 18, 2024· 3 min read

Migrating Data to Dataverse: Tools, Strategies, and Pitfalls

J

Juan Carlos Santiago

Migrating Data to Dataverse: Tools, Strategies, and Pitfalls

Migrating Data to Dataverse: Tools, Strategies, and Pitfalls

Moving data into Dataverse is one of the most critical steps in any Power Platform project. A bad migration can haunt you for months.

Migration Tools

Built-In Options

  • Dataverse Import Wizard — Upload CSV/Excel files directly (up to 150 MB)
  • Dataflows — Power Query-based ETL tool, good for recurring imports
  • Power Automate — For smaller, event-driven migrations

External Tools

  • Azure Data Factory — Enterprise-grade ETL for large volumes
  • KingswaySoft SSIS — SQL Server Integration Services connectors for Dataverse
  • Scribe / Informatica — Legacy integration platforms with Dataverse support
  • XrmToolBox Data Transporter — Community tool for dev/test migrations

Migration Strategy

Phase 1: Analysis

  • Map source fields to Dataverse columns
  • Identify data quality issues (duplicates, missing values, format mismatches)
  • Document lookup relationships and their dependencies

Phase 2: Schema Setup

  • Create tables and columns in Dataverse
  • Set up relationships before importing data
  • Configure option sets and choice columns with correct values
  • Create a solution to track all schema changes

Phase 3: Test Migration

  • Run with a small subset (100-500 records)
  • Verify relationships resolved correctly
  • Check choice columns mapped properly
  • Validate calculated and rollup columns

Phase 4: Full Migration

  • Disable plugins and flows temporarily (to avoid triggering during import)
  • Import reference data first (parent tables)
  • Import transactional data second (child tables)
  • Re-enable plugins and flows
  • Run validation queries

Common Pitfalls

  1. Importing children before parents — Lookups fail if the parent record does not exist yet
  2. Not deduplicating first — Dataverse duplicate detection runs during import and can block records
  3. Exceeding API limits — Large imports can hit throttling. Use batch mode and off-peak hours
  4. Ignoring time zones — Date/time columns in Dataverse are stored in UTC. Convert before importing
  5. Forgetting to map GUIDs — If you need to preserve record IDs, map them explicitly
  6. Skipping validation — Always run post-migration checks. Count records, verify sums, spot-check relationships

Post-Migration Checklist

  • Record counts match source system
  • All lookup relationships resolved
  • Choice columns display correct labels
  • Date fields show correct values (accounting for timezone)
  • Calculated and rollup columns are computing
  • Security roles allow appropriate access to migrated data
  • Apps and flows work correctly with the new data
#dataverse#migration#data#import