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
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
- Importing children before parents — Lookups fail if the parent record does not exist yet
- Not deduplicating first — Dataverse duplicate detection runs during import and can block records
- Exceeding API limits — Large imports can hit throttling. Use batch mode and off-peak hours
- Ignoring time zones — Date/time columns in Dataverse are stored in UTC. Convert before importing
- Forgetting to map GUIDs — If you need to preserve record IDs, map them explicitly
- 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
