SharePoint → SharePoint: which mode to use
Three modes, very different trade-offs. Pick the one that matches what you need to preserve, how big your largest files are, and how fast you need to finish.
Decision tree
Do you need to preserve original timestamps, authors, or version history? ├─ NO → Standard File Migration (fastest, simplest) └─ YES → Do you also need lists / views / content types preserved? ├─ NO → Standard File Migration (versions migrate via per-file replay) └─ YES → Do you have files > 1 GB? ├─ YES → Site Migration without True History Mode │ (large files succeed; loses original timestamps/authors) └─ NO → Site Migration with True History Mode (SPMT) (highest fidelity)
Mode 1: Standard File Migration
Streams files one by one from source SharePoint to destination via Microsoft Graph. Optionally replays version history via per-file version uploads.
What’s preserved
- File content (exact bytes)
- File names & folder hierarchy
- File version history if “Migrate version history” is checked — replayed via separate uploads
- Permissions (basic; some inheritance edge cases may not preserve perfectly)
What’s lost
- Original
Createdtimestamp (replaced with migration time) - Original
Created by(replaced with the migrating user / service principal) - Lists, list items, columns, content types
- Site pages, navigation, themes
- Site-level audit logs / compliance metadata
Use when
- Migrating specific libraries or a folder, not the whole site
- File contents matter; metadata doesn’t
- Files larger than 1 GB exist in the source
- You need the fastest possible migration
- You’re moving content into an existing destination site (just adding files)
Don’t use when
- Compliance / audit requirements demand preservation of original authors / timestamps
- You need to replicate the entire site (lists, views, content types)
- Source has structural elements (custom lists, schemas) you need at the destination
Speed & limits
Throughput: 200–800 GB/day on a healthy connection, throttled by Graph API limits and bandwidth. No practical per-file cap (handles multi-GB files via streaming). SharePoint Online tenant max applies (~250 GB/file).
Mode 2: Site Migration (without True History Mode)
Migrates the entire site structure — libraries, lists, content types, views, page library — using Microsoft Graph for the structural elements and Standard File Migration (Mode 1) for file content.
What’s preserved
- Library structure (folders, names)
- List schemas (columns, content types, validation rules)
- List items (with original column values)
- List views (column orders, filters, sorts)
- Site pages (when “Migrate Site Pages” is enabled)
- Permissions (best-effort; group memberships migrated where possible)
- File version history (when toggle on, via per-file replay)
What’s lost
- Original
Created/Modifiedtimestamps for FILE CONTENT (list items can preserve theirs) - Original
Created by/Modified byfor files - Workflow definitions (SharePoint Designer / legacy)
- Site-level audit logs
Use when
- M&A — combining two SharePoint sites into one consolidated site
- Site reorganization (moving site to new tenant; restructuring)
- You need lists, columns, content types replicated
- Files larger than 1 GB exist in the source (this mode handles them where True History Mode wouldn’t)
- File metadata fidelity is less critical than overall site structure
Mode 3: Site Migration with True History Mode (SPMT)
Uses Microsoft’s official SharePoint Migration API (SPMT, also called PRIME). Encrypts file content and stages it in Azure Blob Storage; submits a manifest to SharePoint Online; SPO ingests files with full fidelity preservation.
What’s preserved
- Everything from Mode 2, plus:
- Original
Created/Modifiedtimestamps on files - Original
Created by/Modified byattribution - Full version history with original version timestamps and authors
- Compliance / audit metadata (where SPMT supports it)
- “True” migration evidence visible in SPO admin tools
What’s lost
- Files larger than 1 GB (currently pre-skipped — current MigrationFox version limit; SPMT itself accepts much larger files)
- Files with destination URL > 400 chars (SPO hard limit; pre-skipped with warning)
- Files with names containing
~ " # % & * : < > ? \ /(SPO blocks these)
Use when
- Compliance / regulated industries — SOX, HIPAA, GDPR retention requirements that require original audit trail to be preserved
- M&A integration with proper paper trail of original ownership / authorship
- Tenant-to-tenant migrations (most common SPMT use case)
- Trust / credibility requirements with the destination — original “who created this when” matters
Don’t use when
- Files larger than 1 GB exist (will be pre-skipped — manually copy via Mode 2)
- Path lengths approach SPO’s 400-char limit (pre-skip will catch them, but you waste staging time)
- Destination is on a different tenant where you don’t have full admin (SPMT requires elevated permissions)
- You need migration to complete fast (Mode 3 is the slowest of the three)
Operational notes
- Destination site may be temporarily unavailable to interactive browsing during SPO’s ingestion phase (“Something’s not right” page = normal, wait it out)
- Worker may be busy for many minutes between staging-complete and SPO-ingestion-complete (intentional)
Quick reference
| Capability | Mode 1: File Migration | Mode 2: Site Migration | Mode 3: Site Migration + True History |
|---|---|---|---|
| File contents | Yes | Yes | Yes |
| Folder structure | Yes | Yes | Yes |
| Lists / columns | No | Yes | Yes |
| Content types | No | Yes | Yes |
| List views | No | Yes | Yes |
| Site pages | No | Yes (toggle) | Yes (toggle) |
File Created date | migration time | migration time | original |
File Created by | service account | service account | original |
| File version history | Yes (toggle, replay) | Yes (toggle, replay) | native SPMT |
| Files > 1 GB | Yes | Yes | pre-skipped |
| Speed | Fast | Moderate | Slower |
| Best for | Specific libraries | Site consolidation | Compliance / fidelity |
Common questions
Can I run True History Mode for the libraries that fit, then File Migration for the > 1 GB files?
Yes — this is the recommended pattern for mixed workloads. Run Site Migration with True History Mode first (skips files > 1 GB with clear warnings), then run a Standard File Migration scoped to just those skipped files. Combined result: site structure + version history for normal files, plus the big files migrated separately.
My users see “Something’s not right” when browsing the destination during migration. Is this broken?
No — that’s SharePoint Online’s expected behavior during SPMT ingestion (Mode 3). It self-resolves within 10–60 minutes after the migration completes. Don’t refresh aggressively; that extends throttling.
Why does Mode 3 say “1 GB” file cap? My SPMT documentation says SharePoint accepts up to 250 GB.
The 1 GB cap is a current MigrationFox worker constraint — large files cause memory pressure during AES staging on the current worker tier. SPMT itself accepts much larger files. The cap will lift in a future MigrationFox release when the worker moves to multi-instance / larger heap.
How do I know which mode my migration job is using?
Check the job’s Configuration card on the Job Detail page:
- “Mode: File Migration” → Mode 1
- “Mode: Site Migration” with True History Mode = OFF → Mode 2
- “Mode: Site Migration” with True History Mode = ON → Mode 3
Can I switch modes mid-migration?
No — modes are set at job creation. To switch, cancel the current job and create a new one with the different mode.
Related
- SPMT True History Mode reference — metadata preservation deep-dive
- SharePoint site migration overview
- Migration Rehearsal — runtime prediction before the real run