SPMT and Migration Manager are free and adequate for most SharePoint Server and file share migrations. They fail predictably at scale. EPC Group's field checklist covers the throughput ceiling, the SharePoint Online limits that break migrations, remediation order, wave planning, reconciliation, and the point at which you buy a tool.
Last updated: 2026-07-31
EPC Group is a Houston-based Microsoft consulting firm operating since 1997, with six Microsoft Solutions Partner designations and 216+ M&A tenant migrations covering 1.83M users. Governed Microsoft AI, Data & Cloud — since 1997.
Key facts
- Microsoft publishes hard throughput ceilings, not estimates: 10 TB/day light metadata (ISO, video), 1 TB/day medium (list items, ~1.5 MB Office files), 250 GB/day heavy (~50 KB files, list items with custom columns).
- SPMT supports SharePoint Server 2010, 2013, 2016 and 2019 plus Foundation 2010 and 2013, to SharePoint, OneDrive and Teams. It does not migrate SharePoint Online to SharePoint Online.
- SMAT reaches end of support on 1 October 2026. Scan assessment moved into SPMT 4.0 and higher.
- Throttling is not negotiable. Background apps — migration, DLP, backup — are throttled harder during weekday daytime hours, and the rules cannot be disabled or suspended by support.
- Keep fewer than 5,000 migration jobs in the queue; over-queuing loads the database and slows everything.
- A source package generating more than 100 destination errors is blocked — and every valid file in it is blocked too.
- SharePoint Online caps a decoded path at 400 characters, a file at 250 GB, unique permissions at 50,000 per list (5,000 recommended), and blocks inheritance changes above 100,000 items.
- Migrations over 100 TB require a support request before you start, with the migration inside 30 days.
Quick facts
| Question | Answer |
|---|---|
| Free tool for SharePoint Server | SPMT (2010, 2013, 2016, 2019, Foundation 2010/2013) |
| Free tool for file shares and cloud | Migration Manager (file shares, Google Workspace, Box, Dropbox, Egnyte) |
| Planning rate, mixed Office content | ~1 TB/day per stream |
| Planning rate, small-file archives | ~250 GB/day |
| Max single file / decoded path | 250 GB / 400 characters |
| List view threshold | 5,000 items |
| Migration jobs to keep queued | Under 5,000 |
| Migration Manager tasks per agent queue | 10 |
| Migration computer (recommended) | Quad core, 16 GB RAM, SSD with 150 GB free, 1 Gbps |
| Report retention (Migration Manager) | 90 days; Microsoft does not retain the logs |
| Best migration window | Evenings and weekends in your tenant's region |
The number that sets your schedule
Microsoft publishes maximum throughput by content profile: 10 TB/day for light metadata (ISO images, video), 1 TB/day for medium (list items, ~1.5 MB Office files), 250 GB/day for heavy (~50 KB files, list items with custom columns). These are ceilings under good conditions, not commitments — the Migration API processes jobs on a best-effort basis with no SLA.
Run the arithmetic before you commit to a date:
- Size by profile, not by total. A 20 TB estate of CAD and video is a different project from a 20 TB archive of 50 KB scanned TIFFs — roughly 40 times slower per terabyte.
- Count objects, not bytes. A 4 TB estate with 40 million small items will miss a date a 12 TB estate with 2 million large files makes comfortably.
- Apply the profile rate. 6 TB of medium content ≈ 6 days at ceiling.
- Halve it. Ceilings assume off-peak windows, healthy source disks and no remediation restarts. Revise upward once the pilot gives you a measured GB/hour.
- Add remediation calendar time, not effort. Remediation is blocked on a business owner deciding what to delete, not on an engineer.
Two facts govern the schedule. Throughput is highest evenings and weekends in your tenant's region, because background applications are throttled harder during weekday daytime hours. And throttling cannot be disabled or suspended — a support ticket does not lift it. Design around it.
The four levers that actually change throughput
Package shape. At least 250 files per transfer, 100–250 MB per package. Outside that band you waste the scale capability of the Migration API.
Parallelism across site collections. Run parallel tasks against different site collections, and keep fewer than 5,000 jobs queued — a limit on queue depth, not concurrent processing.
Agent count. Use the fewest agents that hit your window; extras raise the API request rate and increase throttling when reports upload. Microsoft's sizing method: run 20–30 test tasks on one agent, record the time, divide the total task estimate by that rate. Each agent queues 10 tasks, and roughly 10× tasks per agent is where agent performance maxes out.
Source read speed. Microsoft's telemetry says the usual bottleneck is reading the source — source disk, agent disk, agent RAM, competing consumers, antivirus, network. Put the migration computer on an SSD with the working folder on the fastest disk and 150 GB free, and stop everything else on that box. Worth more than adding agents.
The pre-migration remediation catalogue
Fix these before the first wave. Order matters: the top five are blockers, the rest surface as user complaints in week two.
| # | Finding | Why it breaks the migration | The fix |
|---|---|---|---|
| 1 | Decoded path over 400 characters | Item is skipped; it does not migrate | Flatten the source folder tree or shorten library and folder names before packaging. Renaming later does not recover it |
| 2 | Invalid filename characters | With character replacement off, files are skipped; with it on, names change silently | Turn on Replace invalid filename characters with a single replacement character; bulk-rename at source where filenames carry meaning |
| 3 | Lists or libraries over 5,000 items | Views break at the destination; large lists migrate unpredictably | Index key columns at source, split the list, or introduce folders so no view returns over 5,000 items |
| 4 | Containers over 100,000 items | Permission inheritance cannot be broken or reinherited at the destination | Restructure into multiple libraries before migration. There is no post-migration remedy |
| 5 | Over 5,000 unique permissions on a list | Supported to 50,000, recommended below 5,000; changes take progressively longer | Reset inheritance and rebuild access with groups. Highest-value remediation in most estates |
| 6 | Custom solutions, features, content types | Unsupported; scan returns CUSTOM_SOLUTION_UNSUPPORTED, FEATURE_UNSUPPORTED, UNKNOWN_CONTENT_TYPE | Per item: rebuild as a modern solution, replace with an out-of-box capability, or retire |
| 7 | SharePoint Designer and 2010 workflows | Only some out-of-box and SPD actions convert; unsupported actions become Compose actions | Inventory with the workflow scan report, rebuild business-critical flows in Power Automate, retire the rest |
| 8 | InfoPath forms | XSN files migrate, but forms using SOAP calls, managed code or people-picker fields fail afterwards | Rebuild as Power Apps or modern list forms. Treat InfoPath as a replacement project |
| 9 | Master pages, customized pages, custom New/Edit/View forms | Not migrated; customized pages fail outright | Restore pages to their template at source with SharePoint Designer; rebuild branding with modern site design |
| 10 | Unsupported web parts (Business Data, BCS, Excel Web Access, Visio Web Access, Content Search, InfoPath Form, HTML Form, Media, Promoted Links) | Silently absent at the destination | Check the supported web parts list per page and redesign affected pages before, not after |
| 11 | NoScript enabled on the target | Web parts that can execute script are blocked from migrating | Allow custom script on personal and self-service sites at least 24 hours ahead; revert immediately afterwards |
| 12 | Libraries over 20,000 items | Column indexes cannot be created above 20,000 items; SPMT warns but does not block | Create the indexes at source, or accept folder-based views at the destination |
| 13 | Deep version history on active files | Versions multiply object count and extend elapsed time directly | Migrate a capped number of versions, then apply automatic version limits at the destination |
| 14 | Site collections near 2,000 lists or 2,000 subsites | Structural boundaries; navigation caps at 500 child links per level | Split into multiple site collections and re-plan as hubs. Subsites should not survive the migration |
| 15 | Checked-out files, locked ("No Access") sites, email-enabled lists | Locked sites are skipped entirely; checked-out files migrate without the latest edits | Check-in sweep and release site locks before the wave; replace email-enabled lists with a Power Automate flow |
| 16 | Multiple authentication providers including Windows auth on the source | Windows authentication is unsupported in that configuration | Use another supported method — NTLM, Kerberos, Forms, ADFS, MFA, SAML claims or client certificates |
Two environmental checks: SPMT does not support proxy connections by default, and it is unavailable for Office 365 operated by 21Vianet in China.
The documented limits that break migrations
Every row here is a published SharePoint Online boundary. Each one has ended somebody's migration weekend.
| Limit | Value | What happens when you hit it |
|---|---|---|
| File upload size | 250 GB | File does not migrate (same in Migration Manager) |
| List item attachment | 250 MB | Attachment dropped |
| Decoded file path incl. filename | 400 characters | Item skipped |
| List view threshold | 5,000 items | Views fail; large-list migrations become unpredictable |
| Column index creation | 20,000 items | Index cannot be added; SPMT warns, does not block |
| Permission inheritance wall | 100,000 items per list/library/folder | Cannot break or reinherit inheritance — permanently |
| Unique permissions per list | 50,000 supported / 5,000 recommended | Scan raises UNIQUE_PERMISSION_EXCEED_LIMIT; operations slow badly |
| Items per list or library | 30 million | Hard structural ceiling |
| Lists and libraries per site collection | 2,000 combined | Structural ceiling; plan hubs instead |
| Subsites per site collection | 2,000; navigation 500 child links per level | Enumeration and navigation degrade well before the ceiling |
| Versions | 50,000 major, 511 minor | Multiplies object count and elapsed time |
| Storage per site | 25 TB | Site cannot grow further |
| Tenant storage | 1 TB + 10 GB per licence | Over-limit tenants risk read-only mode |
| SharePoint groups | 10,000 per site collection; 5,000 users per group | Permission model must be redesigned |
| Move/copy across sites | 100 GB and 30,000 files per operation | Post-migration reorganisation fails at scale |
| OneDrive sync | 300,000 files recommended | Sync clients degrade after a successful migration |
The last row generates the helpdesk volume. If your users map drives out of habit, plan the sync story in advance — our SharePoint network drive mapping guide covers the alternatives.
The Four-Wave Remediation Ladder
The Four-Wave Remediation Ladder is EPC Group's wave-planning model. Its governing idea: sequence by what you will learn, not by what the business asks for first. Each wave surfaces a specific class of defect while the cost of that defect is still low.
| Wave | What moves | What it proves | Exit criteria |
|---|---|---|---|
| 1 — Instrument | One low-traffic site plus one file share of ≤200 GB | Credentials, endpoints, agent throughput, destination architecture | A measured GB/hour from ItemSummary.csv; zero structural failures |
| 2 — Break it deliberately | The ugliest sites you own: deepest paths, largest lists, most unique permissions, most custom web parts | The remediation catalogue is complete and the fixes work | Every failure maps to a catalogue row with a proven fix |
| 3 — Bulk | 70–80% of the estate: ordinary team sites and departmental shares | Throughput at scale, throttling behaviour, incremental round performance | Reconciliation clean on every task; no unresolved failure category |
| 4 — Sensitive and last | Executive, legal, HR, regulated records, anything on hold or with an external audience | Nothing. By now you are executing a known process | Sign-off from the data owner, not from IT |
Three rules keep it honest. Run the incremental round inside the freeze window, not before it. Freeze the source per wave, for hours — a three-month project with a three-month source freeze does not survive contact with the business. And never let Wave 4 be the first time you migrate that content type: if HR is your only site with 40,000 uniquely permissioned items, a representative copy belongs in Wave 2.
Settle hub structure, naming, storage limits and sensitivity labels before a single item moves — our SOC 2 compliance guide for Microsoft 365 covers the control set the destination needs on day one.
The Three-Number Reconciliation
"The migration finished" is not evidence. This is. Every SPMT and Migration Manager task report carries three numbers that must be compared, in order:
- Total scanned items — everything found at the source, including items filtered out by settings or scan issues.
- Total to be migrated in current round — scanned minus filtered. Your contract: the number you agreed to move.
- Migrated items in current round — what actually landed.
Number 2 minus number 3 must equal zero, or every difference must be named. ItemFailureReport.csv and FailureSummary.csv exist for this; FailureSummary.csv is generated only when failures occurred, so its absence is itself a signal.
Number 1 minus number 2 is the more dangerous gap — content you chose not to move through extension, date, hidden-file, subsite and list filters, plus content the scan could not process. Most disputed migrations are arguments about this number six months later with nobody able to reconstruct the settings. Export the settings with the reports.
Three rules: reconcile per task, not per project; download the reports before day 90, because Migration Manager reports expire and Microsoft does not retain the logs; and expect deletion entries in the audit log, because SPMT deletes a destination file older than its source counterpart before rewriting it.
For a records or regulatory migration the reconciliation pack — scan summary, item report, failure report, settings export and a signed owner attestation per site — is the deliverable. Our data governance consulting guidance covers the wider control set.
The SPMT Ceiling Test: when the free tool is the wrong tool
Microsoft cannot publish this section. We can. The SPMT Ceiling Test is seven criteria, one point each. Three or more means a third-party licence is cheaper than the labour and schedule risk of proceeding with the free tools.
- Unsupported source. SPMT covers SharePoint Server 2010–2019; Migration Manager covers file shares, Google Workspace, Box, Dropbox and Egnyte. SharePoint Online to SharePoint Online, cross-tenant moves and non-Microsoft ECM are out of scope.
- Permission remapping, not preservation. SPMT preserves permissions and maps users via Entra lookup or a mapping file. A different target security model is hand work.
- Over 100 TB. Microsoft requires a support request before you start — that is Microsoft telling you the project changed category.
- Scheduling, orchestration or pause/resume across hundreds of tasks. SPMT offers auto-rerun once or up to five times; Migration Manager will not let you pin a task to a specific agent. A migration control plane is a product.
- Regulator-grade comparison reporting. The native reports are operational logs, not attestations. Price the hand-built evidence pack before dismissing a licence.
- Structural transformation in scope. Classic-to-modern conversion, subsite promotion, schema changes, taxonomy work. SPMT cannot migrate a site without content, cannot set a destination template, and does not restructure.
- A legal deadline from a live acquisition or divestiture, which changes the arithmetic on every other line.
Score three or more and evaluate the commercial category — ShareGate (Workleap), AvePoint, Quest and Metalogix — against these seven criteria, not a feature grid, and test on your own worst content rather than the vendor's demo tenant. See our SharePoint migration services guidance and our view on delivery partner and vendor risk.
What breaks — failure modes
| Symptom | Root cause | Fix |
|---|---|---|
| Whole package fails, including valid files | The package generated more than 100 destination errors and was blocked | Turn on invalid-character replacement, split the task, remediate the source, re-run |
| Files silently missing at destination | Invalid filename characters with character replacement off | Enable replacement with a chosen character, or bulk-rename at source, then re-run incrementally |
| Items skipped with no obvious error | Decoded path exceeds 400 characters | Flatten the source structure before migrating; renaming afterwards does not recover the item |
| List migrates structure only, zero items | List size interacts with the 5,000 list view threshold during read | Index key columns at source; split the list into batches under 5,000 items per pass |
| Cannot break or restore permission inheritance after migration | Container exceeds 100,000 items | Restructure into multiple libraries. There is no post-migration remedy |
| Web parts absent from migrated pages | Web part unsupported, or NoScript enabled on the target | Check the supported web parts list; allow custom script 24 hours before the wave and revert after |
| Page fails with "page being customized" | SPMT does not migrate customized pages | Restore the page to its template at source with SharePoint Designer, then re-run |
| Workflow migrated but does nothing | Unsupported actions were converted to Compose actions | Locate the Compose actions in the flow and rebuild the logic; check nesting against the 8-level Power Automate limit |
| InfoPath form migrated but fails to open | SOAP calls, managed code, or people-picker fields referencing on-premises identities | Repoint endpoints, remove managed code, remap identities — or rebuild as a Power App |
| Migration slows sharply mid-week | Tighter background-app throttling during weekday daytime hours | Move heavy waves to evenings and weekends. Support cannot lift throttling |
| Throughput far below the published ceiling | Source read is the bottleneck — source disk, agent disk, agent RAM, antivirus, competing consumers | Check the SPMT performance report scores (1–100) for source read, local disk, upload and SharePoint throughput; fix the lowest first |
| SPMT will not sign in to Microsoft 365 | Proxy in path; SPMT does not use system proxy credentials by default | Edit the SPMT app config to follow system proxy settings, then restart |
What changed in 2026
- SMAT reaches end of support on 1 October 2026. Scan and assessment moved into SPMT 4.0 and higher, which assesses SharePoint Server content and executes migration jobs from the same tool. If your runbook still opens with "download SMAT", it is out of date.
- SPMT 4.0 restructured around scenarios — SharePoint scan, SharePoint migration, file share migration — with a scan dashboard that surfaces site inventory and migration risks before you commit.
- A dedicated Migration Administrator role gives migration teams Migration Manager access without full SharePoint Administrator rights. Use it — broad admin grants for migration projects are a recurring audit finding.
- Certificate-based authentication for Migration Manager agents, plus custom Azure storage with Microsoft Entra authentication in SPMT 4.3.130.0 and newer — relevant for regulated tenants that must keep the staging blob in their own subscription.
- Automatic version limits changed the post-migration version story. All versions within a 500 count for 30 days, hourly to 60 days, daily to 180 days, then weekly to the 500 ceiling — roughly a 94–96% storage reduction against count limits alone.
- Classic SharePoint workflow support runs to 2026. Anything on SharePoint 2010 or SharePoint Designer workflows needs a Power Automate plan now, not after the migration.
Where to go next
If you cannot state your throughput profile, your remediation catalogue and your reconciliation method, you do not have a migration plan — you have a tool. EPC Group runs the assessment, catalogue and wave plan as a fixed-scope engagement and hands you a dated runbook with an evidence pack. Start with SharePoint migration services or our Dallas SharePoint consulting team.
Related: EPC Group · SharePoint vs Google Drive · Box vs SharePoint · My Sites · Exchange to Microsoft 365 · E3 vs E5 · Copilot licensing · Azure migration consulting · Microsoft consulting firms · Microsoft Frontier Company
Frequently asked questions
How long does a SharePoint migration actually take?
Divide the estate by content profile and apply Microsoft's ceilings: 10 TB/day light metadata, 1 TB/day medium, 250 GB/day heavy. Halve the result for planning, because ceilings assume off-peak windows and no restarts. Object count matters more than total size — small files and list items are far slower per terabyte.
Is SPMT good enough for an enterprise migration?
Often, yes — they handle most SharePoint Server and file share migrations well. Apply the SPMT Ceiling Test: unsupported source, permission remapping, over 100 TB, orchestration needs, regulator-grade reporting, structural transformation, legal deadline. Three or more and a commercial tool is cheaper than the labour.
What is the difference between SPMT and Migration Manager?
SPMT is a downloadable Windows tool for SharePoint Server 2010–2019 sites and content, plus file shares. Migration Manager lives in the SharePoint admin center, uses installed agents, and covers file shares plus Google Workspace, Box, Dropbox and Egnyte. It scales through agents; SPMT runs on one machine.
Can Microsoft turn off throttling for my migration?
No. Throttling protects service reliability for all customers; the rules cannot be disabled or suspended, and a support ticket does not lift them. Plan heavy waves for evenings and weekends in your tenant's region, when background-app throughput is higher.
What does SPMT not migrate?
Custom solutions, features, content types and workflows; master pages; InfoPath forms; custom New/Edit/View forms. It cannot migrate a site without content or set the destination site template. Many web parts are also unsupported — Business Data, BCS, Excel Web Access, Visio Web Access, Content Search, InfoPath Form, HTML Form, Media, Promoted Links.
What is the file path limit and why do items disappear?
The entire decoded file path including the filename cannot exceed 400 characters. Items over that limit are skipped, often without an obvious error at the summary level. Flatten the source folder tree before you migrate — renaming afterwards does not recover the skipped item.
How do I prove the migration was complete?
Use the Three-Number Reconciliation on every task: total scanned items, total to be migrated in the current round, migrated items in the current round. The second and third must match or every difference must be named in the failure report. Export the settings with the reports and download everything before day 90 — Migration Manager reports expire and Microsoft does not retain the logs.
What is happening to SMAT?
The SharePoint Migration Assessment Tool reaches end of support on 1 October 2026. Use the scan capability built into SPMT 4.0 and higher — it assesses SharePoint Server sites and runs the migration from the same tool, with a dashboard showing site inventory and risk.
Sources and verification
- Microsoft Learn — Overview of the SharePoint Migration Tool (SPMT)
- Microsoft Learn — Step 1: Install the SharePoint Migration Tool (SPMT)
- Microsoft Learn — Overview: Migrate your file shares to Microsoft 365 (Migration Manager)
- Microsoft Learn — General migration performance guidance
- Microsoft Learn — Improve migration performance when using SPMT or Migration Manager
- Microsoft Learn — SharePoint limits (service description)
- Microsoft Learn — SPMT-supported features
- Microsoft Learn — SharePoint Migration Tool settings
- Microsoft Learn — Prerequisites and endpoints for the SharePoint Migration Tool
- Microsoft Learn — SPMT scan assessment error codes
- Microsoft Learn — Step 2: Scan and assess a SharePoint Server site with SPMT
- Microsoft Learn — Troubleshooting common SPMT issues and errors
- Microsoft Learn — Frequently asked questions: SharePoint Migration Tool (SPMT)
- Microsoft Learn — SPMT supported SharePoint web parts
- Microsoft Learn — Step 4: Monitoring and reporting status of migration tasks
- Microsoft Learn — Migration Manager: Reports and errors for file share migration
- Microsoft Learn — Step 1: Set up Migration Manager agents
- Microsoft Learn — Step 2: Create a migration task with Migration Manager
- Microsoft Learn — Prerequisites and endpoints for Migration Manager
- Microsoft Learn — Migration Admin role
- Microsoft Learn — Overview of the SharePoint Migration Assessment Tool (end of support 1 October 2026)
- Microsoft Learn — SharePoint Migration Assessment Tool: Scan Reports
- Microsoft Learn — Migration Assessment Scan: InfoPath
- Microsoft Learn — SharePoint Designer 2010 and 2013 workflow migrations to Power Automate
- Microsoft Learn — Migration workflow report and error codes
- Microsoft Learn — SharePoint Server team sites migration guide
- Microsoft Learn — SharePoint Migration API introduction
- Microsoft Learn — Avoid getting throttled or blocked in SharePoint
- Microsoft Learn — Plan version storage on document libraries
- Microsoft Learn — Allow or prevent custom script
- Microsoft Learn — Release notes: SharePoint Migration Tool (SPMT)
- Microsoft Learn — Migration planning for SharePoint and OneDrive rollout
